[jboss-dev-forums] [Design of JCA on JBoss] - Re: TODO: RAR metadata repository

weston.price@jboss.com do-not-reply at jboss.com
Sun Nov 26 00:10:30 EST 2006


Because the new *-dsx.xml deployment work could really benefit from something like this I started thinking about it and implementing a simple prototype. Right now the JcaMetaDataRepository is pretty basic with an internal HashMap() and a set of JcaMetaDataRepostoryKeys. Each key corresponds to a particual type of RAR deployment object

OutBoundConnectionFactory
MessageListener
AdminObject

However, the problem quickly becomes apparent in trying to do a 'match'. Our JDBC RAR(s) have the same connection definition (javax.sql.DataSource), and it doesn't take much to come up with a pretty trivial example of a message listener conflict (say jms-ra.rar and another JMS providers' RAR both supporting javax.jms.MessageListener). 

The ra.xml metadata is not the problem, its the limited amount of knowledge the XDeployment types have about their target environment. RARDeployment (the old guy in connectionmanager) simply has the connection defintion and that's about it everything else known is driven on the ConnectorMetaData fetched using the oldRarDeployment name. The EJB(X) deployer has just as limited amount of information in the form of the messageType. 

Of course we don't want to start forcing more that we have to in the *-ds.xml/*-dsx.xml because at that point, sticking with the oldRarDeployment hack starts to look better and better. On the ConnectionFactory side, we could add an attribute to the RARDeployment,   say, transaction support and that would narrow it down some. The message listener and the admin object are still problematic. 


Thoughts? 






View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3988590#3988590

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3988590



More information about the jboss-dev-forums mailing list