ConnectionSpec interface

Naren Chawla <[email protected]> Tue, 2 Sep 2003 15:13:25 -0700
Newsgroups gmane.comp.java.sun.connector
Message-ID <[email protected]>
Folks:

Per the spec (1.5 draft2) -- Section 15.5.2

"ConnectionSpec interface has been introduced to increase the toolability of
the CCI. It is
recommended that the ConnectionSpec interface be implemented as a JavaBean
to support
tools. The properties on the ConnectionSpec implementation class must be
defined through
the getter and setter methods pattern."

Do most vendors follow this recommendation and provide JavaBean
implementation for ConnectionsSpec in their resource adapters ?

Unfortuntately, the J2EE RI implementation of connector (blackbox) doesn't
follow this recommendation. The class
"com.sun.connector.cciblackbox.CciConnectionSpec" is missing the setters for
username/password.

The objective of this email was to find out whether I can make a reasonable
assumption that most vendors support the above recommendention in their
adapter implementation.


Thank you for your time,

Naren Chawla














-----Original Message-----
From: A public list for J2EE Connector architecture interest.
[mailto:[email protected]]On Behalf Of Andreas Mueller
Sent: Saturday, August 30, 2003 2:23 AM
To: [email protected]
Subject: Re: JMS Outbound with Connector 1.5

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".