You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomee.apache.org by Romain Manni-Bucau <rm...@gmail.com> on 2011/07/06 09:21:36 UTC

Re: how to get local/remote ejb stored in spring from a servlet - openejb spring integration

Hi,

can you pastebin the openejb start up logs and your app ctx?

- Romain

2011/7/6 lamle <la...@wapice.com>

> Hi all,
> I am having problem with OpenEJB Spring integration and hopefully i can get
> some help from here.
> I download the \spring-integration project from svn and run it in
> tomcat/openejb server and test with junit then it worked fine.
> However, when i call the below method from a servlet then it does not work:
>
> ClassPathXmlApplicationContext context = new
> ClassPathXmlApplicationContext("movies.xml");
>        // Can I lookup the Cineplex EJB via the Spring ApplicationContext
>        Cineplex cineplex = (Cineplex) context.getBean("CineplexImplLocal");
>
> or:
>
> InitialContext initialContext = new InitialContext(properties);
> CineplexLocal s =
> (CineplexLocal)initialContext.lookup("CineplexImplLocal");
>
> It said bean  CineplexImplLocal cannot be found but in junit it worked. So
> what is the problem and how to fix this?
> Thanks.
>
> --
> View this message in context:
> http://openejb.979440.n4.nabble.com/how-to-get-local-remote-ejb-stored-in-spring-from-a-servlet-openejb-spring-integration-tp3647869p3647869.html
> Sent from the OpenEJB User mailing list archive at Nabble.com.
>

Re: how to get local/remote ejb stored in spring from a servlet - openejb spring integration

Posted by Romain Manni-Bucau <rm...@gmail.com>.
The code i copy/paste works since i used it in a project.

Did you clear you app ctx when you tried?

- Romain

2011/7/6 lamle <la...@wapice.com>

> This is the error when i put openejb-core.jar to my webapp/lib
>
>
>
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean
> with name 'bookTestBeanImplLocal': Invocation of init method failed; nested
> exception is javax.naming.NamingException: Cannot instantiate a
> LocalInitialContext. Exception: java.lang.NoSuchMethodException
> org.apache.openejb.client.LocalInitialContext.<init>(java.util.Hashtable,
> org.apache.openejb.client.LocalInitialContextFactory) [Root exception is
> java.lang.NoSuchMethodException:
> org.apache.openejb.client.LocalInitialContext.<init>(java.util.Hashtable,
> org.apache.openejb.client.LocalInitialContextFactory)]
>
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
>
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
>
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
>
>
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
>
>
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>
>
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
>
>
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
>
>
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:563)
>
>
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
>
>
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
>
>
> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
>
>
> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
>         com.wapice.test.TestServlet.doGet(TestServlet.java:45)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>         javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>
>
> root cause
>
> javax.naming.NamingException: Cannot instantiate a LocalInitialContext.
> Exception: java.lang.NoSuchMethodException
> org.apache.openejb.client.LocalInitialContext.<init>(java.util.Hashtable,
> org.apache.openejb.client.LocalInitialContextFactory) [Root exception is
> java.lang.NoSuchMethodException:
> org.apache.openejb.client.LocalInitialContext.<init>(java.util.Hashtable,
> org.apache.openejb.client.LocalInitialContextFactory)]
>
>
> org.apache.openejb.client.LocalInitialContextFactory.getLocalInitialContext(LocalInitialContextFactory.java:98)
>
>
> org.apache.openejb.client.LocalInitialContextFactory.getInitialContext(LocalInitialContextFactory.java:43)
>
>  javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
>
>  javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
>        javax.naming.InitialContext.init(InitialContext.java:223)
>        javax.naming.InitialContext.<init>(InitialContext.java:197)
>
>
> org.springframework.jndi.JndiTemplate.createInitialContext(JndiTemplate.java:136)
>
>  org.springframework.jndi.JndiTemplate.getContext(JndiTemplate.java:103)
>        org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:85)
>        org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:152)
>        org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:178)
>
>
> org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:95)
>
>
> org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:105)
>
>
> org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(JndiObjectFactoryBean.java:201)
>
>
> org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:187)
>
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
>
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
>
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
>
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
>
>
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
>
>
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>
>
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
>
>
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
>
>
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:563)
>
>
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
>
>
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
>
>
> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
>
>
> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
>         com.wapice.test.TestServlet.doGet(TestServlet.java:45)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>         javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>
>
> root cause
>
> java.lang.NoSuchMethodException:
> org.apache.openejb.client.LocalInitialContext.<init>(java.util.Hashtable,
> org.apache.openejb.client.LocalInitialContextFactory)
>        java.lang.Class.getConstructor0(Class.java:2706)
>        java.lang.Class.getConstructor(Class.java:1657)
>
>
> org.apache.openejb.client.LocalInitialContextFactory.getLocalInitialContext(LocalInitialContextFactory.java:85)
>
>
> org.apache.openejb.client.LocalInitialContextFactory.getInitialContext(LocalInitialContextFactory.java:43)
>
>  javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
>
>  javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
>        javax.naming.InitialContext.init(InitialContext.java:223)
>        javax.naming.InitialContext.<init>(InitialContext.java:198)
>
>
> org.springframework.jndi.JndiTemplate.createInitialContext(JndiTemplate.java:136)
>
>  org.springframework.jndi.JndiTemplate.getContext(JndiTemplate.java:103)
>        org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:85)
>        org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:152)
>        org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:179)
>
>
> org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:95)
>
>
> org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:105)
>
>
> org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(JndiObjectFactoryBean.java:201)
>
>
> org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:187)
>
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
>
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
>
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
>
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
>
>
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
>
>
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>
>
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
>
>
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
>
>
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:563)
>
>
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:896)
>
>
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
>
>
> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
>
>
> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:84)
>        com.wapice.test.TestServlet.doGet(TestServlet.java:45)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:718)
>
>
>
> --
> View this message in context:
> http://openejb.979440.n4.nabble.com/how-to-get-local-remote-ejb-stored-in-spring-from-a-servlet-openejb-spring-integration-tp3647869p3648369.html
> Sent from the OpenEJB User mailing list archive at Nabble.com.
>

Re: how to get local/remote ejb stored in spring from a servlet - openejb spring integration

Posted by lamle <la...@wapice.com>.
This is the error when i put openejb-core.jar to my webapp/lib



org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'bookTestBeanImplLocal': Invocation of init method failed; nested
exception is javax.naming.NamingException: Cannot instantiate a
LocalInitialContext. Exception: java.lang.NoSuchMethodException
org.apache.openejb.client.LocalInitialContext.<init>(java.util.Hashtable,
org.apache.openejb.client.LocalInitialContextFactory) [Root exception is
java.lang.NoSuchMethodException:
org.apache.openejb.client.LocalInitialContext.<init>(java.util.Hashtable,
org.apache.openejb.client.LocalInitialContextFactory)]

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)

org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)

org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)

org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)

org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)

org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:563)

org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)

org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)

org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)

org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
	com.wapice.test.TestServlet.doGet(TestServlet.java:45)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


root cause 

javax.naming.NamingException: Cannot instantiate a LocalInitialContext.
Exception: java.lang.NoSuchMethodException
org.apache.openejb.client.LocalInitialContext.<init>(java.util.Hashtable,
org.apache.openejb.client.LocalInitialContextFactory) [Root exception is
java.lang.NoSuchMethodException:
org.apache.openejb.client.LocalInitialContext.<init>(java.util.Hashtable,
org.apache.openejb.client.LocalInitialContextFactory)]

org.apache.openejb.client.LocalInitialContextFactory.getLocalInitialContext(LocalInitialContextFactory.java:98)

org.apache.openejb.client.LocalInitialContextFactory.getInitialContext(LocalInitialContextFactory.java:43)
	javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
	javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
	javax.naming.InitialContext.init(InitialContext.java:223)
	javax.naming.InitialContext.<init>(InitialContext.java:197)

org.springframework.jndi.JndiTemplate.createInitialContext(JndiTemplate.java:136)
	org.springframework.jndi.JndiTemplate.getContext(JndiTemplate.java:103)
	org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:85)
	org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:152)
	org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:178)

org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:95)

org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:105)

org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(JndiObjectFactoryBean.java:201)

org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:187)

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)

org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)

org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)

org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)

org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)

org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:563)

org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)

org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)

org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)

org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
	com.wapice.test.TestServlet.doGet(TestServlet.java:45)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


root cause 

java.lang.NoSuchMethodException:
org.apache.openejb.client.LocalInitialContext.<init>(java.util.Hashtable,
org.apache.openejb.client.LocalInitialContextFactory)
	java.lang.Class.getConstructor0(Class.java:2706)
	java.lang.Class.getConstructor(Class.java:1657)

org.apache.openejb.client.LocalInitialContextFactory.getLocalInitialContext(LocalInitialContextFactory.java:85)

org.apache.openejb.client.LocalInitialContextFactory.getInitialContext(LocalInitialContextFactory.java:43)
	javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
	javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
	javax.naming.InitialContext.init(InitialContext.java:223)
	javax.naming.InitialContext.<init>(InitialContext.java:198)

org.springframework.jndi.JndiTemplate.createInitialContext(JndiTemplate.java:136)
	org.springframework.jndi.JndiTemplate.getContext(JndiTemplate.java:103)
	org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:85)
	org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:152)
	org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:179)

org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:95)

org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:105)

org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(JndiObjectFactoryBean.java:201)

org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:187)

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)

org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)

org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)

org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)

org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)

org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:563)

org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:896)

org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)

org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)

org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:84)
	com.wapice.test.TestServlet.doGet(TestServlet.java:45)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:718)



--
View this message in context: http://openejb.979440.n4.nabble.com/how-to-get-local-remote-ejb-stored-in-spring-from-a-servlet-openejb-spring-integration-tp3647869p3648369.html
Sent from the OpenEJB User mailing list archive at Nabble.com.

Re: how to get local/remote ejb stored in spring from a servlet - openejb spring integration

Posted by lamle <la...@wapice.com>.
Hi Romain,
Thank you for your fix, if it cannot be automatic then this is nice also if
this workaround can work.
i tried:

<jee:jndi-lookup id="bookTestBeanImplLocal"
jndi-name="SpringIntegration/BookTestBeanImplLocal">
<jee:environment>java.naming.factory.initial=org.apache.openejb.client.LocalInitialContextFactory
</jee:environment>
</jee:jndi-lookup>

but the application is crying that class LocalInitialContextFactory not
found. I put openejb-core-3.1.4.jar in my webapp lib folder but no help.
Putting it in tomcat/lin folder deactivates tomcat server with lots of
errors.

This is getting very frustrating after my 3 days searching. Any other
suggestion pls. 

--
View this message in context: http://openejb.979440.n4.nabble.com/how-to-get-local-remote-ejb-stored-in-spring-from-a-servlet-openejb-spring-integration-tp3647869p3648097.html
Sent from the OpenEJB User mailing list archive at Nabble.com.

Re: how to get local/remote ejb stored in spring from a servlet - openejb spring integration

Posted by Lam Le <la...@wapice.com>.
On 7/6/2011 12:28 PM, Romain Manni-Bucau wrote:
> openejb-core is already into the poenejb webapp, it shouldn't be elsewhere.
>
Hi,
What i meant was that trying your suggestion

<jee:jndi-lookup id="bookTestBeanImplLocal"
jndi-name="SpringIntegration/BookTestBeanImplLocal">
<jee:environment>java.naming.factory.initial=org.apache.openejb.client.LocalInitialContextFactory
</jee:environment>
</jee:jndi-lookup>

does not work as the application throws exception LocalInitialContextFactory class not found. This class was included in openejb-core-*.jar and I tried put this jar to other places but it did not help.
So your suggestion does not work. Do you have any other idea pls.


-- 
Best regards,
Lam Le


Re: how to get local/remote ejb stored in spring from a servlet - openejb spring integration

Posted by Romain Manni-Bucau <rm...@gmail.com>.
openejb-core is already into the poenejb webapp, it shouldn't be elsewhere.

- Romain

2011/7/6 Lam Le <la...@wapice.com>

> On 7/6/2011 12:09 PM, Romain Manni-Bucau wrote:
>
>> try with this tomcat
>> http://repo1.maven.org/maven2/**org/apache/openejb/tomee/6.0.**
>> 29.314/tomee-6.0.29.314.zipand<http://repo1.maven.org/maven2/org/apache/openejb/tomee/6.0.29.314/tomee-6.0.29.314.zipand>
>> don't put openejb in your webapp.
>>
>>  Hi Romain,
> I was using this version of tomee and I cant put openejb-core-*.jar to
> tomcat/lib folder as it will hang the server.
>
> --
> Best regards,
> Lam Le
>
>

Re: how to get local/remote ejb stored in spring from a servlet - openejb spring integration

Posted by Lam Le <la...@wapice.com>.
On 7/6/2011 12:09 PM, Romain Manni-Bucau wrote:
> try with this tomcat
> http://repo1.maven.org/maven2/org/apache/openejb/tomee/6.0.29.314/tomee-6.0.29.314.zipand
> don't put openejb in your webapp.
>
Hi Romain,
I was using this version of tomee and I cant put openejb-core-*.jar to 
tomcat/lib folder as it will hang the server.

-- 
Best regards,
Lam Le


Re: how to get local/remote ejb stored in spring from a servlet - openejb spring integration

Posted by Romain Manni-Bucau <rm...@gmail.com>.
try with this tomcat
http://repo1.maven.org/maven2/org/apache/openejb/tomee/6.0.29.314/tomee-6.0.29.314.zipand
don't put openejb in your webapp.

- Romain

2011/7/6 lamle <la...@wapice.com>

> Hi Romain,
> Thank you for your fix, if it cannot be automatic then this is nice also
> if this workaround can work.
> i tried:
>
> <jee:jndi-lookup id="bookTestBeanImplLocal"
> jndi-name="SpringIntegration/BookTestBeanImplLocal">
>
> <jee:environment>java.naming.factory.initial=org.apache.openejb.client.LocalInitialContextFactory
> </jee:environment>
> </jee:jndi-lookup>
>
> but the application is crying that class LocalInitialContextFactory not
> found. I put openejb-core-3.1.4.jar in my webapp lib folder but no help.
> Putting it in tomcat/lin folder deactivates tomcat server with lots of
> errors.
>
> This is getting very frustrating after my 3 days searching. Any help pls.
>
>
> --
> View this message in context:
> http://openejb.979440.n4.nabble.com/how-to-get-local-remote-ejb-stored-in-spring-from-a-servlet-openejb-spring-integration-tp3647869p3648103.html
> Sent from the OpenEJB User mailing list archive at Nabble.com.
>

Re: how to get local/remote ejb stored in spring from a servlet - openejb spring integration

Posted by lamle <la...@wapice.com>.
Hi Romain,
Thank you for your fix, if it cannot be automatic then this is nice also 
if this workaround can work.
i tried:

<jee:jndi-lookup id="bookTestBeanImplLocal" 
jndi-name="SpringIntegration/BookTestBeanImplLocal">
<jee:environment>java.naming.factory.initial=org.apache.openejb.client.LocalInitialContextFactory 
</jee:environment>
</jee:jndi-lookup>

but the application is crying that class LocalInitialContextFactory not 
found. I put openejb-core-3.1.4.jar in my webapp lib folder but no help. 
Putting it in tomcat/lin folder deactivates tomcat server with lots of 
errors.

This is getting very frustrating after my 3 days searching. Any help pls.


--
View this message in context: http://openejb.979440.n4.nabble.com/how-to-get-local-remote-ejb-stored-in-spring-from-a-servlet-openejb-spring-integration-tp3647869p3648103.html
Sent from the OpenEJB User mailing list archive at Nabble.com.

Re: how to get local/remote ejb stored in spring from a servlet - openejb spring integration

Posted by Romain Manni-Bucau <rm...@gmail.com>.
maybe what you want if really simpler, did you try the spring jee
integration?

i think openejb spring integration is more oriented for people wanting to
run oepnejb from spring.

here some clues:

appctx:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:jee="http://www.springframework.org/schema/jee"
       xsi:schemaLocation="
     http://www.springframework.org/schema/beans
     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
     http://camel.apache.org/schema/spring
     http://camel.apache.org/schema/spring/camel-spring.xsd
     http://www.springframework.org/schema/jee
     http://www.springframework.org/schema/jee/spring-jee-2.0.xsd">

  <context:property-placeholder location="classpath:config.properties" />

  <jee:jndi-lookup id="manager" jndi-name="SpringIntegration/Foo">

<jee:environment>java.naming.factory.initial=${initialContext}</jee:environment>
  </jee:jndi-lookup>
</beans>

config.properties:
# java.naming.factory.initial
initialContext=org.apache.openejb.client.LocalInitialContextFactory

The other solution is to simply lookup it from where you want creating an
initial context.

- Romain

2011/7/6 lamle <la...@wapice.com>

> Hi Romain, thank you for your suggestion.
> I tried, here is the error log i got:
> (I have this in my tomcat/conf/system.properties file:
> openejb.deploymentId.format={moduleId}/{ejbName}  )
>
>
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean
> with name 'classPathApplication': Invocation of init method failed; nested
> exception is org.apache.openejb.OpenEJBException: Cannot bind resource
> adapter with id TransactionManager:
> ParsedName{path=openejb/Resource/TransactionManager,
> component=TransactionManager}
>
>
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:133)
>
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394)
>
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1413)
>
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
>
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
>
>
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
>
>
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>
>
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
>
>
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
>
>
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
>
>
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:896)
>
>
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
>
>
> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
>
>
> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:84)
>        com.wapice.test.TestServlet.doGet(TestServlet.java:45)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:718)
>
>
> root cause
>
> org.apache.openejb.OpenEJBException: Cannot bind resource adapter with id
> TransactionManager: ParsedName{path=openejb/Resource/TransactionManager,
> component=TransactionManager}
>
>
> org.apache.openejb.assembler.classic.Assembler.createResource(Assembler.java:1195)
>        org.apache.openejb.spring.OpenEJB.start(OpenEJB.java:308)
>
>
> org.apache.openejb.spring.AbstractApplication.start(AbstractApplication.java:92)
>         sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         java.lang.reflect.Method.invoke(Method.java:597)
>
>
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:341)
>
>
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:293)
>
>
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:130)
>
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:395)
>
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1413)
>
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
>
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
>
>
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
>
>
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>
>
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
>
>
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
>
>
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
>
>
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:896)
>
>
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
>
>
> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
>
>
> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:84)
>        com.wapice.test.TestServlet.doGet(TestServlet.java:45)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:718)
>
>
> root cause
>
> javax.naming.NameAlreadyBoundException:
> ParsedName{path=openejb/Resource/TransactionManager,
> component=TransactionManager}
>        org.apache.openejb.core.ivm.naming.NameNode.bind(NameNode.java:96)
>        org.apache.openejb.core.ivm.naming.NameNode.bind(NameNode.java:111)
>        org.apache.openejb.core.ivm.naming.NameNode.bind(NameNode.java:111)
>        org.apache.openejb.core.ivm.naming.NameNode.bind(NameNode.java:90)
>        org.apache.openejb.core.ivm.naming.NameNode.bind(NameNode.java:111)
>        org.apache.openejb.core.ivm.naming.NameNode.bind(NameNode.java:111)
>        org.apache.openejb.core.ivm.naming.NameNode.bind(NameNode.java:105)
>        org.apache.openejb.core.ivm.naming.NameNode.bind(NameNode.java:90)
>        org.apache.openejb.core.ivm.naming.NameNode.bind(NameNode.java:105)
>
>  org.apache.openejb.core.ivm.naming.IvmContext.bind(IvmContext.java:295)
>
>
> org.apache.openejb.assembler.classic.Assembler.createResource(Assembler.java:1193)
>        org.apache.openejb.spring.OpenEJB.start(OpenEJB.java:308)
>
>
> org.apache.openejb.spring.AbstractApplication.start(AbstractApplication.java:92)
>         sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         java.lang.reflect.Method.invoke(Method.java:597)
>
>
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:341)
>
>
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:293)
>
>
> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:130)
>
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:395)
>
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1413)
>
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
>
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
>
>
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
>
>
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>
>
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
>
>
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
>
>
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
>
>
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:896)
>
>
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
>
>
> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
>
>
> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:84)
>        com.wapice.test.TestServlet.doGet(TestServlet.java:45)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:718)
>
>
>
> --
> View this message in context:
> http://openejb.979440.n4.nabble.com/how-to-get-local-remote-ejb-stored-in-spring-from-a-servlet-openejb-spring-integration-tp3647869p3648000.html
> Sent from the OpenEJB User mailing list archive at Nabble.com.
>

Re: how to get local/remote ejb stored in spring from a servlet - openejb spring integration

Posted by lamle <la...@wapice.com>.
Hi Romain, thank you for your suggestion.
I tried, here is the error log i got:
(I have this in my tomcat/conf/system.properties file:
openejb.deploymentId.format={moduleId}/{ejbName}  )


org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'classPathApplication': Invocation of init method failed; nested
exception is org.apache.openejb.OpenEJBException: Cannot bind resource
adapter with id TransactionManager:
ParsedName{path=openejb/Resource/TransactionManager,
component=TransactionManager}

org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:133)

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394)

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1413)

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)

org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)

org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)

org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)

org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)

org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)

org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:896)

org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)

org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)

org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:84)
	com.wapice.test.TestServlet.doGet(TestServlet.java:45)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:718)


root cause 

org.apache.openejb.OpenEJBException: Cannot bind resource adapter with id
TransactionManager: ParsedName{path=openejb/Resource/TransactionManager,
component=TransactionManager}

org.apache.openejb.assembler.classic.Assembler.createResource(Assembler.java:1195)
	org.apache.openejb.spring.OpenEJB.start(OpenEJB.java:308)

org.apache.openejb.spring.AbstractApplication.start(AbstractApplication.java:92)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:597)

org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:341)

org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:293)

org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:130)

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:395)

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1413)

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)

org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)

org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)

org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)

org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)

org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)

org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:896)

org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)

org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)

org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:84)
	com.wapice.test.TestServlet.doGet(TestServlet.java:45)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:718)


root cause 

javax.naming.NameAlreadyBoundException:
ParsedName{path=openejb/Resource/TransactionManager,
component=TransactionManager}
	org.apache.openejb.core.ivm.naming.NameNode.bind(NameNode.java:96)
	org.apache.openejb.core.ivm.naming.NameNode.bind(NameNode.java:111)
	org.apache.openejb.core.ivm.naming.NameNode.bind(NameNode.java:111)
	org.apache.openejb.core.ivm.naming.NameNode.bind(NameNode.java:90)
	org.apache.openejb.core.ivm.naming.NameNode.bind(NameNode.java:111)
	org.apache.openejb.core.ivm.naming.NameNode.bind(NameNode.java:111)
	org.apache.openejb.core.ivm.naming.NameNode.bind(NameNode.java:105)
	org.apache.openejb.core.ivm.naming.NameNode.bind(NameNode.java:90)
	org.apache.openejb.core.ivm.naming.NameNode.bind(NameNode.java:105)
	org.apache.openejb.core.ivm.naming.IvmContext.bind(IvmContext.java:295)

org.apache.openejb.assembler.classic.Assembler.createResource(Assembler.java:1193)
	org.apache.openejb.spring.OpenEJB.start(OpenEJB.java:308)

org.apache.openejb.spring.AbstractApplication.start(AbstractApplication.java:92)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:597)

org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:341)

org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:293)

org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:130)

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:395)

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1413)

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)

org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)

org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)

org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)

org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)

org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)

org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:896)

org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)

org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)

org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:84)
	com.wapice.test.TestServlet.doGet(TestServlet.java:45)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:718)



--
View this message in context: http://openejb.979440.n4.nabble.com/how-to-get-local-remote-ejb-stored-in-spring-from-a-servlet-openejb-spring-integration-tp3647869p3648000.html
Sent from the OpenEJB User mailing list archive at Nabble.com.

Re: how to get local/remote ejb stored in spring from a servlet - openejb spring integration

Posted by Romain Manni-Bucau <rm...@gmail.com>.
well it should work with the Jndi name you see on the logs
"SpringIntegration/BookTestBeanImplLocal".

can you have a try?

- Romain

2011/7/6 lamle <la...@wapice.com>

> Hi Romain,
> The server log i sent previously has nothing to do with this, i fixed it.
> I tried again with tomee and it seems that using initialContext.lookup("")
> works fine. Of course I should put some bean name on it, i was just too
> lazy
> :)
> However, I still insist on finding a way to use spring to get injected
> beans. Do you have any idea pls.
>
> --
> View this message in context:
> http://openejb.979440.n4.nabble.com/how-to-get-local-remote-ejb-stored-in-spring-from-a-servlet-openejb-spring-integration-tp3647869p3647973.html
> Sent from the OpenEJB User mailing list archive at Nabble.com.
>

Re: how to get local/remote ejb stored in spring from a servlet - openejb spring integration

Posted by lamle <la...@wapice.com>.
Hi Romain, 
The server log i sent previously has nothing to do with this, i fixed it.
I tried again with tomee and it seems that using initialContext.lookup("")
works fine. Of course I should put some bean name on it, i was just too lazy
:)
However, I still insist on finding a way to use spring to get injected
beans. Do you have any idea pls. 

--
View this message in context: http://openejb.979440.n4.nabble.com/how-to-get-local-remote-ejb-stored-in-spring-from-a-servlet-openejb-spring-integration-tp3647869p3647973.html
Sent from the OpenEJB User mailing list archive at Nabble.com.

Re: how to get local/remote ejb stored in spring from a servlet - openejb spring integration

Posted by lamle <la...@wapice.com>.
Do I need to do any configuration in web.xml such as LoaderServlet etc?

--
View this message in context: http://openejb.979440.n4.nabble.com/how-to-get-local-remote-ejb-stored-in-spring-from-a-servlet-openejb-spring-integration-tp3647869p3647953.html
Sent from the OpenEJB User mailing list archive at Nabble.com.

Re: how to get local/remote ejb stored in spring from a servlet - openejb spring integration

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Maybe you should try to clean your tomcat or to reinstall your
openejb-tomcat or download tomee which is already configured

http://openejb.apache.org/tomcat-detailed-instructions.html

tomee is on maven repos i think

What do you expect with a lookup/getBean of an empty string?

- Romain

2011/7/6 lamle <la...@wapice.com>

> Hi Romain,
>
> Yes but even I tried with initialContext.lokup("") it does not return what
> i
> want. And spring injected bean should be s standard way we always do i
> think.
> Attached is my sample app, I removed created one very simple bean to test.
> http://openejb.979440.n4.nabble.com/file/n3647948/SpringIntegration.zip
> SpringIntegration.zip
>
> WHen the server loads, i got this error:
>
> INFO: Deploying configuration descriptor openejb.xml
> context path = /openejb
> Jul 6, 2011 10:23:10 AM org.apache.catalina.session.StandardManager doLoad
> SEVERE: IOException while loading persisted sessions: java.io.EOFException
> java.io.EOFException
>        at
>
> java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2280)
>        at
>
> java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2749)
>        at
> java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:779)
>        at java.io.ObjectInputStream.<init>(ObjectInputStream.java:279)
>        at
>
> org.apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:58)
>        at
>
> org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:362)
>        at
> org.apache.catalina.session.StandardManager.load(StandardManager.java:321)
>        at
> org.apache.catalina.session.StandardManager.start(StandardManager.java:648)
>        at
> org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:446)
>        at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
>        at
>
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:800)
>        at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
>        at
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:603)
>        at
>
> org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:675)
>        at
>
> org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:601)
>        at
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
>        at
> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1315)
>        at
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
>        at
>
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
>        at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1064)
>        at
> org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
>        at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
>        at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:465)
>        at
> org.apache.catalina.core.StandardService.start(StandardService.java:525)
>        at
> org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
>        at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>        at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:291)
>        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
> Jul 6, 2011 10:23:10 AM org.apache.catalina.session.StandardManager start
> SEVERE: Exception loading sessions from persistent storage
> java.io.EOFException
>        at
>
> java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2280)
>        at
>
> java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2749)
>        at
> java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:779)
>        at java.io.ObjectInputStream.<init>(ObjectInputStream.java:279)
>        at
>
> org.apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:58)
>        at
>
> org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:362)
>        at
> org.apache.catalina.session.StandardManager.load(StandardManager.java:321)
>        at
> org.apache.catalina.session.StandardManager.start(StandardManager.java:648)
>        at
> org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:446)
>        at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
>        at
>
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:800)
>        at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
>        at
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:603)
>        at
>
> org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:675)
>        at
>
> org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:601)
>        at
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
>        at
> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1315)
>        at
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
>        at
>
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
>        at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1064)
>        at
> org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
>        at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
>        at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:465)
>        at
> org.apache.catalina.core.StandardService.start(StandardService.java:525)
>        at
> org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
>        at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>        at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:291)
>        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
> OpenEJB init-params:
> Jul 6, 2011 10:23:10 AM org.apache.catalina.startup.HostConfig deployWAR
> INFO: Deploying web application archive SpringIntegration.war
> context path = /SpringIntegration
>
> --
> View this message in context:
> http://openejb.979440.n4.nabble.com/how-to-get-local-remote-ejb-stored-in-spring-from-a-servlet-openejb-spring-integration-tp3647869p3647948.html
> Sent from the OpenEJB User mailing list archive at Nabble.com.
>

Re: how to get local/remote ejb stored in spring from a servlet - openejb spring integration

Posted by lamle <la...@wapice.com>.
Hi Romain,

Yes but even I tried with initialContext.lokup("") it does not return what i
want. And spring injected bean should be s standard way we always do i
think.
Attached is my sample app, I removed created one very simple bean to test. 
http://openejb.979440.n4.nabble.com/file/n3647948/SpringIntegration.zip
SpringIntegration.zip 

WHen the server loads, i got this error:

INFO: Deploying configuration descriptor openejb.xml
context path = /openejb
Jul 6, 2011 10:23:10 AM org.apache.catalina.session.StandardManager doLoad
SEVERE: IOException while loading persisted sessions: java.io.EOFException
java.io.EOFException
        at
java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2280)
        at
java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2749)
        at
java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:779)
        at java.io.ObjectInputStream.<init>(ObjectInputStream.java:279)
        at
org.apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:58)
        at
org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:362)
        at
org.apache.catalina.session.StandardManager.load(StandardManager.java:321)
        at
org.apache.catalina.session.StandardManager.start(StandardManager.java:648)
        at
org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:446)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:800)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:603)
        at
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:675)
        at
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:601)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
        at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1315)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1064)
        at
org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:465)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:525)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:291)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Jul 6, 2011 10:23:10 AM org.apache.catalina.session.StandardManager start
SEVERE: Exception loading sessions from persistent storage
java.io.EOFException
        at
java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2280)
        at
java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2749)
        at
java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:779)
        at java.io.ObjectInputStream.<init>(ObjectInputStream.java:279)
        at
org.apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:58)
        at
org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:362)
        at
org.apache.catalina.session.StandardManager.load(StandardManager.java:321)
        at
org.apache.catalina.session.StandardManager.start(StandardManager.java:648)
        at
org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:446)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:800)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:603)
        at
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:675)
        at
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:601)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
        at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1315)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1064)
        at
org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:465)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:525)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:291)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
OpenEJB init-params:
Jul 6, 2011 10:23:10 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive SpringIntegration.war
context path = /SpringIntegration

--
View this message in context: http://openejb.979440.n4.nabble.com/how-to-get-local-remote-ejb-stored-in-spring-from-a-servlet-openejb-spring-integration-tp3647869p3647948.html
Sent from the OpenEJB User mailing list archive at Nabble.com.

Re: how to get local/remote ejb stored in spring from a servlet - openejb spring integration

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Well, from your logs you didn't deploy Cineplex but BookTest isn't it?

can you share a webapp?

however you don't need spring to access your bean everywhere, a lookup with
openejb local initial factory set in properties is often enough.

- Romain


2011/7/6 lamle <la...@wapice.com>

> The strange thing is that I can call applicationContext.getbean("") from a
> junit test but not in any class in my servlet. It looks like that spring
> bean has not been initialized. But it is said in classPathApplication bean:
>
> Loads the EJBs from the classpath just as when embedding OpenEJB via
>  the org.apache.openejb.client.LocalInitialContextFactory.  All the
> discovered
>  EJBs are imported into this context and available for injection here.
>
> I dont want to use @EJB annotation to get the local/remote ejb in my
> servlet. I want to get it from spring so that I can call it everywhere in
> my
> web app.
>
> --
> View this message in context:
> http://openejb.979440.n4.nabble.com/how-to-get-local-remote-ejb-stored-in-spring-from-a-servlet-openejb-spring-integration-tp3647869p3647934.html
> Sent from the OpenEJB User mailing list archive at Nabble.com.
>

Re: how to get local/remote ejb stored in spring from a servlet - openejb spring integration

Posted by lamle <la...@wapice.com>.
The strange thing is that I can call applicationContext.getbean("") from a
junit test but not in any class in my servlet. It looks like that spring
bean has not been initialized. But it is said in classPathApplication bean:

Loads the EJBs from the classpath just as when embedding OpenEJB via
  the org.apache.openejb.client.LocalInitialContextFactory.  All the
discovered
  EJBs are imported into this context and available for injection here.

I dont want to use @EJB annotation to get the local/remote ejb in my
servlet. I want to get it from spring so that I can call it everywhere in my
web app.

--
View this message in context: http://openejb.979440.n4.nabble.com/how-to-get-local-remote-ejb-stored-in-spring-from-a-servlet-openejb-spring-integration-tp3647869p3647934.html
Sent from the OpenEJB User mailing list archive at Nabble.com.

Re: how to get local/remote ejb stored in spring from a servlet - openejb spring integration

Posted by lamle <la...@wapice.com>.
Hi Romain,
Thank you for your quick reply, it really encourages new member like me.
 Below is my openejb.log, everything is correct i think:

http://openejb.979440.n4.nabble.com/file/n3647921/openejb.log openejb.log 


My movies.xml:


<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:tx="http://www.springframework.org/schema/tx"
       
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/context
          
http://www.springframework.org/schema/context/spring-context-2.5.xsd
           http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">

  

  <context:annotation-config/>

  

  

  
  <bean name="TransactionManager"
class="org.apache.geronimo.transaction.manager.GeronimoTransactionManager"/>


  
  <bean name="SecurityService"
class="org.apache.openejb.core.security.SecurityServiceImpl"/>


  
  <bean name="classPathApplication"
class="org.apache.openejb.spring.ClassPathApplication"/>

  

  

</beans>


--
View this message in context: http://openejb.979440.n4.nabble.com/how-to-get-local-remote-ejb-stored-in-spring-from-a-servlet-openejb-spring-integration-tp3647869p3647921.html
Sent from the OpenEJB User mailing list archive at Nabble.com.