Re: wicket-cdi and TomEE
Hey Bertrand, I do get No suitable constructor found for injection target class : [class org.apache.wicket.cdi.DetachEventEmitter]. produce() method does not work! I don't think it matters a lot. I must be something like: it doesn't find the right constructor for the annotated type (maybe something with non-empty wicket constructors, but actually, I have not really a clue, it's just openejb throwing some 'info' at you, no warnings :) ). However, I don't get any other errors. I don't think you really need 'seam-conversation-owb' to make conversation scope etc working. The only seam-library I use is (although I didn't test conversation scope): seam-conversation-spi-3.0.0.Final.jar I'm not using maven, so I can't help you out with that part, but if you can't get it working, I probably still have a mwe at home... I might put it online this weekend somewhere. Good luck, Kurt Sys 2013/1/3 Bertrand Guay-Paquet ber...@step.polymtl.ca: Thanks to you both for you help. Here's what I did so far: -Upgraded from TomEE 1.0.0 to 1.5.1 (not sure if that made a change, but it was a todo anyway) -Removing the seam-conversation-weld dependency -Finally, added the following section to my pom: dependencyManagement dependencies dependency artifactIdcdi-api/artifactId groupIdjavax.enterprise/groupId scopeprovided/scope /dependency /dependencies /dependencyManagement wicket-cdi includes this dependency as compile but it is provided by the Java EE container. Igor: perhaps you could modify your blog post to include the info about changing the scope of cdi-api? With these changes, I can get @RequestScoped, @SessionScoped and @ApplicationScoped working, although with warnings. I get a ton of log messages of the following type: org.apache.webbeans.component.creation.AnnotatedTypeBeanCreatorImpl defineConstructor INFO: No suitable constructor found for injection target class : [class org.apache.wicket.cdi.DetachEventEmitter]. produce() method does not work! I can't understand why I get these or what they mean. As for the conversion scope, from what I understand I should simply have to replace the seam-conversation-weld dependency with seam-conversation-owb to run with OpenWebBeans (used by TomEE). However, when I do that, all wicket pages throw an exception: java.lang.NoSuchMethodError: org.apache.webbeans.conversation.ConversationManager.getInstance()Lorg/apache/webbeans/conversation/ConversationManager; org.jboss.seam.conversation.plugins.openwebbeans.OpenWebBeansSeamConversationManager.doActivate(OpenWebBeansSeamConversationManager.java:41) org.jboss.seam.conversation.plugins.openwebbeans.OpenWebBeansHttpSeamConversationContext.doActivate(OpenWebBeansHttpSeamConversationContext.java:44) org.jboss.seam.conversation.api.AbstractSeamConversationContext.activate(AbstractSeamConversationContext.java:54) org.apache.wicket.cdi.CdiContainer.activateConversationalContext(CdiContainer.java:94) org.apache.wicket.cdi.ConversationPropagator.activateConversationIfNeeded(ConversationPropagator.java:147) org.apache.wicket.cdi.ConversationPropagator.onRequestHandlerResolved(ConversationPropagator.java:123) org.apache.wicket.request.cycle.RequestCycleListenerCollection$5.notify(RequestCycleListenerCollection.java:155) I don't need conversion scope right now, but all these warnings and errors worry me. Kurt, do you get all these errors? Regards, Bertrand - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: wicket-cdi and TomEE
Thanks to you both for you help. Here's what I did so far: -Upgraded from TomEE 1.0.0 to 1.5.1 (not sure if that made a change, but it was a todo anyway) -Removing the seam-conversation-weld dependency -Finally, added the following section to my pom: dependencyManagement dependencies dependency artifactIdcdi-api/artifactId groupIdjavax.enterprise/groupId scopeprovided/scope /dependency /dependencies /dependencyManagement wicket-cdi includes this dependency as compile but it is provided by the Java EE container. Igor: perhaps you could modify your blog post to include the info about changing the scope of cdi-api? With these changes, I can get @RequestScoped, @SessionScoped and @ApplicationScoped working, although with warnings. I get a ton of log messages of the following type: org.apache.webbeans.component.creation.AnnotatedTypeBeanCreatorImpl defineConstructor INFO: No suitable constructor found for injection target class : [class org.apache.wicket.cdi.DetachEventEmitter]. produce() method does not work! I can't understand why I get these or what they mean. As for the conversion scope, from what I understand I should simply have to replace the seam-conversation-weld dependency with seam-conversation-owb to run with OpenWebBeans (used by TomEE). However, when I do that, all wicket pages throw an exception: java.lang.NoSuchMethodError: org.apache.webbeans.conversation.ConversationManager.getInstance()Lorg/apache/webbeans/conversation/ConversationManager; org.jboss.seam.conversation.plugins.openwebbeans.OpenWebBeansSeamConversationManager.doActivate(OpenWebBeansSeamConversationManager.java:41) org.jboss.seam.conversation.plugins.openwebbeans.OpenWebBeansHttpSeamConversationContext.doActivate(OpenWebBeansHttpSeamConversationContext.java:44) org.jboss.seam.conversation.api.AbstractSeamConversationContext.activate(AbstractSeamConversationContext.java:54) org.apache.wicket.cdi.CdiContainer.activateConversationalContext(CdiContainer.java:94) org.apache.wicket.cdi.ConversationPropagator.activateConversationIfNeeded(ConversationPropagator.java:147) org.apache.wicket.cdi.ConversationPropagator.onRequestHandlerResolved(ConversationPropagator.java:123) org.apache.wicket.request.cycle.RequestCycleListenerCollection$5.notify(RequestCycleListenerCollection.java:155) I don't need conversion scope right now, but all these warnings and errors worry me. Kurt, do you get all these errors? Regards, Bertrand On 21/12/2012 2:53 AM, Kurt Sys wrote: ... forgot this one: my full system setup, used jars etc. http://openejb.979440.n4.nabble.com/tomee-eclipselink-gt-NoClassDefFoundError-ClassNotFoundException-td4658870.html Kurt 2012/12/20 Igor Vaynberg igor.vaynb...@gmail.com: looks like you have two jars on the classpath that provide the javax.enterprise.inject.spi.BeanManager interface. maybe one comes with wicket-cdi and the other one is included in tomee... -igor On Thu, Dec 20, 2012 at 12:54 PM, Bertrand Guay-Paquet ber...@step.polymtl.ca wrote: javax.enterprise.inject.spi.BeanManage - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: wicket-cdi and TomEE
looks like you have two jars on the classpath that provide the javax.enterprise.inject.spi.BeanManager interface. maybe one comes with wicket-cdi and the other one is included in tomee... -igor On Thu, Dec 20, 2012 at 12:54 PM, Bertrand Guay-Paquet ber...@step.polymtl.ca wrote: javax.enterprise.inject.spi.BeanManage - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: wicket-cdi and TomEE
Hey, I got it all working (wicket+tomee) I had some posts to this list to get it to work: http://mail-archives.apache.org/mod_mbox/wicket-users/201211.mbox/%3ccadltzbdlypzbbv-piofedam7unf2nt1dqvdvy4ttguaymu0...@mail.gmail.com%3E I posted most of my configs in here, you don't need weld-stuff: http://wicket-users.markmail.org/search/?q=kurt.sys#query:kurt.sys+page:1+mid:5bjezmiz7muq5iqj+state:results ... and check out this as well, there are some useful lilnks: http://wicket-users.markmail.org/search/?q=tomee+cdi#query:tomee%20cdi+page:1+mid:ibec5hnkimampyr7+state:results Kurt 2012/12/20 Bertrand Guay-Paquet ber...@step.polymtl.ca: Hi, My web application contains EJB stateless beans which I currently access in Wicket through JNDI injection with the wicketstuff-javaee-inject project. With Wicket 6.4.0, I am trying out CDI (@inject) but can't get it to work on the TomEE Java EE application server. In my Application class, I put: BeanManager manager = (BeanManager) new InitialContext().lookup(java:comp/BeanManager); This fails with ClassCastException: org.apache.webbeans.container.InjectableBeanManager cannot be cast to javax.enterprise.inject.spi.BeanManage So the BeanManager lookup does work, but there is a problem casting it. From what I understand, TomEE uses OpenWebBeans to provide CDI while Wicket is based on Weld. I found this discussion relating to this : http://wicket-users.markmail.org/thread/ibec5hnkimampyr7 but it only gave me solutions for using wicket-cdi with Tomcat (servlet container) and not TomEE (full application server) and its included OWB. Igor said (in http://wicket-dev.markmail.org/thread/lhwlhqmmyy5zemjg) that jboss seam-conversation module has plugins for every cdi container. Maybe this is the solution, but I'm not versed enough in CDI to understand it! Thanks for any hint. Regards, Bertrand - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: wicket-cdi and TomEE
... forgot this one: my full system setup, used jars etc. http://openejb.979440.n4.nabble.com/tomee-eclipselink-gt-NoClassDefFoundError-ClassNotFoundException-td4658870.html Kurt 2012/12/20 Igor Vaynberg igor.vaynb...@gmail.com: looks like you have two jars on the classpath that provide the javax.enterprise.inject.spi.BeanManager interface. maybe one comes with wicket-cdi and the other one is included in tomee... -igor On Thu, Dec 20, 2012 at 12:54 PM, Bertrand Guay-Paquet ber...@step.polymtl.ca wrote: javax.enterprise.inject.spi.BeanManage - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org