You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Matt Hogstrom (JIRA)" <ji...@apache.org> on 2007/07/10 18:26:04 UTC
[jira] Created: (GERONIMO-3306) JMS Objects being bound at an
incorrect spot in the JNDI tree.
JMS Objects being bound at an incorrect spot in the JNDI tree.
--------------------------------------------------------------
Key: GERONIMO-3306
URL: https://issues.apache.org/jira/browse/GERONIMO-3306
Project: Geronimo
Issue Type: Bug
Security Level: public (Regular issues)
Affects Versions: 2.0-M7
Environment: All
Reporter: Matt Hogstrom
Assignee: Tim McConnell
DayTrader 2.0 uses a Session Bean that acts as a focal point for many application operations. This bean does a lookup of several resources in the setSessionContext method. This method looks up the following resources. The first line is line 1034 from TradeBean.java. Note that the jms/ resource are successfully looked up but that the items on line 1056 and 1057 needs to have geronimo inserted into the name in order for the resolution to be successful.
{code}
*1034* public void ejbCreate() throws CreateException {
*1035* try {
*1036*
*1037* if (Log.doTrace())
*1038* Log.trace("TradeBean:ejbCreate -- JNDI lookups of EJB and JMS resources");
*1039*
*1040* InitialContext ic = new InitialContext();
*1041* quoteHome = (LocalQuoteHome) ic.lookup("java:comp/env/ejb/Quote");
*1042* accountHome = (LocalAccountHome) ic.lookup("java:comp/env/ejb/Account");
*1043* profileHome = (LocalAccountProfileHome) ic.lookup("java:comp/env/ejb/AccountProfile");
*1044* holdingHome = (LocalHoldingHome) ic.lookup("java:comp/env/ejb/Holding");
*1045* orderHome = (LocalOrderHome) ic.lookup("java:comp/env/ejb/Order");
*1046* keySequenceHome = (LocalKeySequenceHome) ic.lookup("java:comp/env/ejb/KeySequence");
*1047*
*1048* orderBySQLSupported = ( (Boolean) ic.lookup("java:comp/env/orderBySQLSupported") ).booleanValue();
*1049* updateQuotePrices = ( (Boolean) ic.lookup("java:comp/env/updateQuotePrices") ).booleanValue();
*1050* TradeConfig.setUpdateQuotePrices(updateQuotePrices);
*1051*
*1052* try
*1053* {
*1054* qConnFactory = (ConnectionFactory) ic.lookup("java:comp/env/jms/QueueConnectionFactory");
*1055* tConnFactory = (ConnectionFactory) ic.lookup("java:comp/env/jms/TopicConnectionFactory");
*1056* streamerTopic = (Topic) ic.lookup("java:comp/geronimo/env/jms/TradeStreamerTopic");
*1057* brokerQueue = (Queue) ic.lookup("java:comp/geronimo/env/jms/TradeBrokerQueue");
{code}
Now, looking at the streamerTopic and brokerQueue definitions we also have annotations which have the desired (correct?) names defined. However, when the bean is initialized we receive the following warnings:
{code}
*46* @Resource(name = "jms/TradeBrokerQueue")
*47* private Queue brokerQueue = null;
*48*
*49* private ConnectionFactory tConnFactory = null;
*50*
*51* @Resource(name = "jms/TradeStreamerTopic")
*52* private Topic streamerTopic = null;
{code}
12:24:37,117 WARN [OpenEJB] Injection data not found in enc: jndiName='jms/TradeBrokerQueue', target=class org.apache.geronimo.samples.daytrader.ejb.TradeBean/brokerQueue
12:24:37,118 WARN [OpenEJB] Injection data not found in enc: jndiName='jms/TradeStreamerTopic', target=class org.apache.geronimo.samples.daytrader.ejb.TradeBean/streamerTopic
So, the other resources outlined above (like the ConnectionFactories) seem to be bound correctly.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (GERONIMO-3306) JMS Objects being bound at an
incorrect spot in the JNDI tree.
Posted by "David Jencks (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/GERONIMO-3306?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
David Jencks closed GERONIMO-3306.
----------------------------------
Resolution: Fixed
Fix Version/s: 2.0-M7
Assignee: David Jencks (was: Tim McConnell)
This seems to be working fine.
> JMS Objects being bound at an incorrect spot in the JNDI tree.
> --------------------------------------------------------------
>
> Key: GERONIMO-3306
> URL: https://issues.apache.org/jira/browse/GERONIMO-3306
> Project: Geronimo
> Issue Type: Bug
> Security Level: public(Regular issues)
> Affects Versions: 2.0-M7
> Environment: All
> Reporter: Matt Hogstrom
> Assignee: David Jencks
> Fix For: 2.0-M7
>
>
> DayTrader 2.0 uses a Session Bean that acts as a focal point for many application operations. This bean does a lookup of several resources in the setSessionContext method. This method looks up the following resources. The first line is line 1034 from TradeBean.java. Note that the jms/ resource are successfully looked up but that the items on line 1056 and 1057 needs to have geronimo inserted into the name in order for the resolution to be successful.
> {code}
> *1034* public void ejbCreate() throws CreateException {
> *1035* try {
> *1036*
> *1037* if (Log.doTrace())
> *1038* Log.trace("TradeBean:ejbCreate -- JNDI lookups of EJB and JMS resources");
> *1039*
> *1040* InitialContext ic = new InitialContext();
> *1041* quoteHome = (LocalQuoteHome) ic.lookup("java:comp/env/ejb/Quote");
> *1042* accountHome = (LocalAccountHome) ic.lookup("java:comp/env/ejb/Account");
> *1043* profileHome = (LocalAccountProfileHome) ic.lookup("java:comp/env/ejb/AccountProfile");
> *1044* holdingHome = (LocalHoldingHome) ic.lookup("java:comp/env/ejb/Holding");
> *1045* orderHome = (LocalOrderHome) ic.lookup("java:comp/env/ejb/Order");
> *1046* keySequenceHome = (LocalKeySequenceHome) ic.lookup("java:comp/env/ejb/KeySequence");
> *1047*
> *1048* orderBySQLSupported = ( (Boolean) ic.lookup("java:comp/env/orderBySQLSupported") ).booleanValue();
> *1049* updateQuotePrices = ( (Boolean) ic.lookup("java:comp/env/updateQuotePrices") ).booleanValue();
> *1050* TradeConfig.setUpdateQuotePrices(updateQuotePrices);
> *1051*
> *1052* try
> *1053* {
> *1054* qConnFactory = (ConnectionFactory) ic.lookup("java:comp/env/jms/QueueConnectionFactory");
> *1055* tConnFactory = (ConnectionFactory) ic.lookup("java:comp/env/jms/TopicConnectionFactory");
> *1056* streamerTopic = (Topic) ic.lookup("java:comp/geronimo/env/jms/TradeStreamerTopic");
> *1057* brokerQueue = (Queue) ic.lookup("java:comp/geronimo/env/jms/TradeBrokerQueue");
> {code}
> Now, looking at the streamerTopic and brokerQueue definitions we also have annotations which have the desired (correct?) names defined. However, when the bean is initialized we receive the following warnings:
> {code}
> *46* @Resource(name = "jms/TradeBrokerQueue")
> *47* private Queue brokerQueue = null;
> *48*
> *49* private ConnectionFactory tConnFactory = null;
> *50*
> *51* @Resource(name = "jms/TradeStreamerTopic")
> *52* private Topic streamerTopic = null;
> {code}
> 12:24:37,117 WARN [OpenEJB] Injection data not found in enc: jndiName='jms/TradeBrokerQueue', target=class org.apache.geronimo.samples.daytrader.ejb.TradeBean/brokerQueue
> 12:24:37,118 WARN [OpenEJB] Injection data not found in enc: jndiName='jms/TradeStreamerTopic', target=class org.apache.geronimo.samples.daytrader.ejb.TradeBean/streamerTopic
> So, the other resources outlined above (like the ConnectionFactories) seem to be bound correctly.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (GERONIMO-3306) JMS Objects being bound at an
incorrect spot in the JNDI tree.
Posted by "David Jencks (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/GERONIMO-3306?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12511882 ]
David Jencks commented on GERONIMO-3306:
----------------------------------------
Dain and I had a big discussion and think we fixed it in openejb rev 555412. The problem was that
-openejb generates a "geronimo mapped name" for everything when in geronimo, that points to the correct item in the geronimo generated jndi tree. This would have ended up with a link to
java:comp/geronimo/env/jms/QueueConnectionFactory
which as Matt found out, works.
- openejb was then overwriting this with a generated openejb resource-link for every message-destination-ref, pointing to an openejb part of the jndi tree such as
java:openejb/Resource/jms/TradeStreamerTopic
The solution was to have the code doing the overwriting to check for a set mapped name before changing anything. Now the link into the geronimo tree is sticking around and getting used and working.
> JMS Objects being bound at an incorrect spot in the JNDI tree.
> --------------------------------------------------------------
>
> Key: GERONIMO-3306
> URL: https://issues.apache.org/jira/browse/GERONIMO-3306
> Project: Geronimo
> Issue Type: Bug
> Security Level: public(Regular issues)
> Affects Versions: 2.0-M7
> Environment: All
> Reporter: Matt Hogstrom
> Assignee: Tim McConnell
>
> DayTrader 2.0 uses a Session Bean that acts as a focal point for many application operations. This bean does a lookup of several resources in the setSessionContext method. This method looks up the following resources. The first line is line 1034 from TradeBean.java. Note that the jms/ resource are successfully looked up but that the items on line 1056 and 1057 needs to have geronimo inserted into the name in order for the resolution to be successful.
> {code}
> *1034* public void ejbCreate() throws CreateException {
> *1035* try {
> *1036*
> *1037* if (Log.doTrace())
> *1038* Log.trace("TradeBean:ejbCreate -- JNDI lookups of EJB and JMS resources");
> *1039*
> *1040* InitialContext ic = new InitialContext();
> *1041* quoteHome = (LocalQuoteHome) ic.lookup("java:comp/env/ejb/Quote");
> *1042* accountHome = (LocalAccountHome) ic.lookup("java:comp/env/ejb/Account");
> *1043* profileHome = (LocalAccountProfileHome) ic.lookup("java:comp/env/ejb/AccountProfile");
> *1044* holdingHome = (LocalHoldingHome) ic.lookup("java:comp/env/ejb/Holding");
> *1045* orderHome = (LocalOrderHome) ic.lookup("java:comp/env/ejb/Order");
> *1046* keySequenceHome = (LocalKeySequenceHome) ic.lookup("java:comp/env/ejb/KeySequence");
> *1047*
> *1048* orderBySQLSupported = ( (Boolean) ic.lookup("java:comp/env/orderBySQLSupported") ).booleanValue();
> *1049* updateQuotePrices = ( (Boolean) ic.lookup("java:comp/env/updateQuotePrices") ).booleanValue();
> *1050* TradeConfig.setUpdateQuotePrices(updateQuotePrices);
> *1051*
> *1052* try
> *1053* {
> *1054* qConnFactory = (ConnectionFactory) ic.lookup("java:comp/env/jms/QueueConnectionFactory");
> *1055* tConnFactory = (ConnectionFactory) ic.lookup("java:comp/env/jms/TopicConnectionFactory");
> *1056* streamerTopic = (Topic) ic.lookup("java:comp/geronimo/env/jms/TradeStreamerTopic");
> *1057* brokerQueue = (Queue) ic.lookup("java:comp/geronimo/env/jms/TradeBrokerQueue");
> {code}
> Now, looking at the streamerTopic and brokerQueue definitions we also have annotations which have the desired (correct?) names defined. However, when the bean is initialized we receive the following warnings:
> {code}
> *46* @Resource(name = "jms/TradeBrokerQueue")
> *47* private Queue brokerQueue = null;
> *48*
> *49* private ConnectionFactory tConnFactory = null;
> *50*
> *51* @Resource(name = "jms/TradeStreamerTopic")
> *52* private Topic streamerTopic = null;
> {code}
> 12:24:37,117 WARN [OpenEJB] Injection data not found in enc: jndiName='jms/TradeBrokerQueue', target=class org.apache.geronimo.samples.daytrader.ejb.TradeBean/brokerQueue
> 12:24:37,118 WARN [OpenEJB] Injection data not found in enc: jndiName='jms/TradeStreamerTopic', target=class org.apache.geronimo.samples.daytrader.ejb.TradeBean/streamerTopic
> So, the other resources outlined above (like the ConnectionFactories) seem to be bound correctly.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.