Re: JMS Outbound with Connector 1.5

Andreas Mueller <[email protected]> Mon, 1 Sep 2003 16:56:10 +0200
Newsgroups gmane.comp.java.sun.connector
Message-ID <[email protected]>
Hi Johan,

now I see...

I had the impression that ManagedConnectionFactory.createConnectionFactory()
returns a cci.ConnectionFactory and thus I thought it is hard linked to CCI.
However, now I realize it returns java.lang.Object and so I can return any
connection factory (even a javax.jms.ConnectionFactory!).

Completely my fault.

Sorry!

Thanks,
Andreas

--
Andreas Mueller
IIT GmbH, Bremen/Germany
http://www.swiftmq.com

----- Original Message -----
From: "Johan Eltes" <[email protected]>
To: <[email protected]>
Sent: Saturday, August 30, 2003 1:40 PM
Subject: Re: JMS Outbound with Connector 1.5


> Andreas,
>
> There are two option when provifing a resource adapter:
>
> - Implement CCI
> - Implement any other interface of your choice, as long as there is a
> connection factory interface and a connection interface.
>
> IBM/WebSphere 5 is wrapping all JMS providers with a generic JMS
connector.
> WLS is not, which over the ysers has made it impossible to get reliable
> outbound JMS processing with WLS and MQSeries (reliability solved with WLS
> 8, but not configurability). Pointning at the cci as being "guilty" for
> causing problems related to outbound JMS is not valid.
>
> Take a look at WebSphere 5 and you will get the idea of how the connector
> spec is intended to be used.
>
> /Johan
>
> Den 03-08-30 11.22, skrev "Andreas Mueller" <[email protected]>:
>
> > Hi Jim,
> >
> > I don't think that JMS outbound messaging works that way by just
providing a
> > javax.jms.Connection. This is how it works today and the app server
proxies
> > this Connection (which is actually a handle) to enlist tx etc. The
> > implementation of this layer differs from app server to app server, of
> > course.
> >
> > However, what we like to do is to provide a 1.5 RA to plug in our JMS in
any
> > J2EE 1.4 compliant app server so that it can be used for JMS inbound and
JMS
> > outbound messaging in a standard way. Inbound is not the problem but
> > outbound seems to be completely unspecified!!
> >
> > The 1.5. spec states that a ManagedConnectionFactory creates a
> > cci.ConnectionFactory which in turn creates a cci.Connection which isn't
> > compatible with a javax.jms.Connection due to the different exceptions
of
> > the close and the different meta data of the getMetaData method.
> > ManagedConnectionFactory is required to be deployed as a RA. So there is
no
> > other way than ManagedConnectionFactory.
> >
> > JMS is a J2EE API. It is not some proprietary API of an EIS or whatever
> > which a component has to access via generic Interaction interfaces. So I
> > expect a spec how to use JMS outbound from an app server component and
how
> > these JMS stuff is integrated with the resourse adapter.
> >
> > Could someone from the expert group please comment on this. You guys
should
> > know what you have specified.
> >
> > Andreas
> >
> > --
> > Andreas Mueller
> > IIT GmbH, Bremen/Germany
> > http://www.swiftmq.com
> >
> > ----- Original Message -----
> > From: "Jim Gish" <[email protected]>
> > To: <[email protected]>
> > Sent: Friday, August 29, 2003 7:11 PM
> > Subject: Re: JMS Outbound with Connector 1.5
> >
> >
> > Here's the section that talks about message provider pluggability:
> >
> > J2EE applications may use two different patterns to interact with a
> > message provider:
> >
> >
> > . It may directly use specific messaging APIs, such as Java Messaging
> > Service (JMS), to send
> > and synchronously receive messages. This is achieved using the standard
> > connector
> > contracts for connection management. See Chapter 6, "Connection
> > Management". Any
> > message provider may provide a connector resource adapter that supplies
> > connection
> > objects for use by applications to send and synchronously receive
messages
> > using the
> > specific messaging API. [This is the outbound case that your question
asks
> > about]
> >
> >
> > . It may use message-driven beans to asynchronously receive messages via
a
> > message
> > provider. The EJB specification (See Related Documents, page 302, [1])
> > describes the
> > message-driven bean component contract in detail.
> >
> >
> > My bet is that a message provider resource adapter wouldn't implement
CCI.
> > What's the advantage?  So, in the case of JMS, it would just implement
the
> > javax.jms.Connection and you would proceed as with any JMS connection.
> >
> > Jim
> >
> >
> > At 04:37 AM 8/29/2003, Andreas Mueller wrote:
> >
> > Hi,
> >
> > according to the spec the app component looks up a
> > javax.resource.cci.ConnectionFactory and obtains a
> > javax.resource.cci.Connection. The latter is actually a handle to the
> > physical (Managed) connection.
> >
> > To use the EIS, the app component casts the
javax.resource.cci.Connection
> > to
> > the resp. EIS connection and uses that. Is that right till here?
> >
> > Now with a JMS RA I would expect the javax.resource.cci.Connection is a
> > javax.jms.Connection (JMS 1.1) and thus the app component casts it to
this
> > type. However, this is not possible because both
> > javax.resource.cci.Connection and javax.jms.Connection are incompatible.
> > They throw different exceptions on close and return different MetaData.
> >
> > Also I would assume that outbound JMS messaging via a RA is specified
> > somewhere. I don't find it in the specs. If that is not specified then
the
> > API is not standardized via a RA and in a worst case an app component
has
> > to
> > change its code if the JMS vendor changes.
> >
> > Or is the JMS pluggability only for message inflow? That would be indeed
a
> > big disadvantage.
> >
> > Could someone clearify, please?
> >
> > Thanks,
> > Andreas
> >
> > --
> > Andreas Mueller
> > IIT GmbH, Bremen/Germany
> > http://www.swiftmq.com
> >
> >
> >
===========================================================================
> > To unsubscribe, send email to [email protected] and include in the
> > body
> > of the message "signoff CONNECTOR-INTEREST".  For general help, send
email
> > to
> > [email protected] and include in the body of the message "help".
> >
===========================================================================
> > To unsubscribe, send email to [email protected] and include in the
body
> > of the message "signoff CONNECTOR-INTEREST". For general help, send
email to
> > [email protected] and include in the body of the message "help".
> >
> >
===========================================================================
> > To unsubscribe, send email to [email protected] and include in the
body
> > of the message "signoff CONNECTOR-INTEREST".  For general help, send
email to
> > [email protected] and include in the body of the message "help".
> >
>
>
===========================================================================
> To unsubscribe, send email to [email protected] and include in the
body
> of the message "signoff CONNECTOR-INTEREST".  For general help, send email
to
> [email protected] and include in the body of the message "help".
>

===========================================================================
To unsubscribe, send email to [email protected] and include in the body
of the message "signoff CONNECTOR-INTEREST".  For general help, send email to
[email protected] and include in the body of the message "help".