1 Reply Latest reply on Jul 28, 2008 1:41 AM by Vicky Kak

    JCA - Implementation and Correct Usage

    Rafael Ubaldo Newbie

      I am evaluating JCA for an upcoming project. I have the following the requirements:

      I have one or more TCP log servers on a remote device. These logging servers emit ASCII strings when a remote client connects to listen to the log. The log entries spit out one string at a time.

      If I have understood the purpose of JCA correctly, these log servers play the role of the EIS asset and I will have to develop a TCP RA adapter to enable my application running in JBoss AS to receive the log strings.

      Is it possible for me to build a resource adapter and have an EJB connect to the log servers automatically when ever the container starts and remain connected until the container shutdowns? Or would it be simpler to create a Servlet Context listener with a simple outboard socket connect?

      Any suggestions and commentary would be appreciated.

        • 1. Re: JCA - Implementation and Correct Usage
          Vicky Kak Master

           

          "rafaelubaldo@me.com" wrote:

          If I have understood the purpose of JCA correctly, these log servers play the role of the EIS asset and I will have to develop a TCP RA adapter to enable my application running in JBoss AS to receive the log strings.

          Is it possible for me to build a resource adapter and have an EJB connect to the log servers automatically when ever the container starts and remain connected until the container shutdowns? Or would it be simpler to create a Servlet Context listener with a simple outboard socket connect?

          The log server emits the log strings which if available in the JMS destination ( Topic/Queue) will be read by the EJB directly , that is how right now the inbound JCA works .
          The message end points are the EJB's ( MDB ) only .
          Yes you can write a RA which when bootstraps will connect/listen the external EIS .
          The RA will listen to the emitted log messages and then can push the log string to the JMS destinations . These destinations can be configured to listen on the MDB's .
          Things should work this way .

          All you need to push the log messages to the Queue/Topic and make MDB listen to them .
          The pushing of the messages can be done through any other mechanism too , all you need is a program which will listen to the incoming log messages from the Log Server .
          The program which would be listening to Log Servers can be either in JCA - RA Or in any other java code.

          Why can't you guys simply run the application at the log server which will push the messages to the appropriate destination , that will make things simpler .
          You don't need to have a program which will listen to the incoming messages and then push them to the destination .

          Talk to your architect and find out what options suits you best , consider the load of messaging being emitted etc while designing .