0 Replies Latest reply on Jun 21, 2012 2:42 PM by Tomohisa igarashi

    Where JCA outbound to sit?

    Tomohisa igarashi Master

      Already sent pull requests for JCA outbound, but I'd like to talk about it ...



      Before that, I should say "Processor" is the plugin of JCA outbound gateway, that processes the outbound interaction. There are JMSProcessor and CCIProcessor in my pull requests at this moment.


      JCA outbound doesn't limit programming model more than retrieving connection factory from JNDI, so JCA outbound gateway has nothing special to do in Managed scenario. I guess we also can benefit from JCA adapter using camel-jms or camel-sql if we pass the ConnectionFactory name which is bound by JCA adapter. I have thought to implement JDBCProcessor for JCA outbound, but Camel already has nice stuff to handle ResultSet as message, so we don't have to invent a wheel for JDBC right?

      In the case of Non-Managed Scenario, SwitchYard runtime has a responsibility to instantiate ManagedConnectionFactory and bind the ConnectionFactory into JNDI, but it's uncommon usecase I think.


      If the EIS supports CCI, JCA outbound has a bit more thing to do according to CCI specification - instantiate ConnectionSpec and ActivationSpec, and perform message exchange process. But if that EIS needs to be interact with custom record implementation, then need to create another CCIProcessor.


      Therefore, the reason why we need to have JCA outbound gateway is just for EISs that have CCI API or yet another custom API? Even if the EIS supports CCI, Record implementation depends on how the EIS implement CCI, so we'd just provide a sample imlementation for the CCIProcessor?


      Any advice would be appreciated!