Note that there are some explanatory texts on larger screens.

plurals
  1. POCDI not working in ear deployed to glassfish v3.0.1
    text
    copied!<p>I have some problem with using weld logger injection.</p> <p><strong>Scenario:</strong> I have ear with ejb-jar inside.</p> <p>This is my ejb bean:</p> <pre><code>@Stateless @LocalBean public class PartnersService { @Inject Logger log; @PersistenceContext(unitName = "Utopia") EntityManager em; public PartnersService() { } public OasysPartnerEntity getPartner(long id){ return em.find(OasysPartnerEntity.class, id); } @Schedule( hour = "*", minute = "*", second = "*/15") public void print1Partner(){ System.out.println("This is test"); log.info("This is partner`s email under id 1 = "); } @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) public void saveTempPartnerTemp(OasysPartnerTempEntity part){ em.persist(part); } } </code></pre> <p>when print1Partner called I got exception:</p> <blockquote> <p>|2010-07-02T19:25:35.003+0300|WARNING|oracle-glassfish3.0.1|javax.enterprise.system.container.ejb.com.sun.ejb.containers|_ThreadID=48;_ThreadName=Thread-1;|A system exception occurred during an invocation on EJB PartnersService method public void ua.co.oasys.fenix.persistence.PartnersService.print1Partner() javax.ejb.EJBException: javax.ejb.EJBException: javax.ejb.CreateException: Could not create stateless EJB at com.sun.ejb.containers.StatelessSessionContainer._getContext(StatelessSessionContainer.java:448) at com.sun.ejb.containers.BaseContainer.getContext(BaseContainer.java:2467) at com.sun.ejb.containers.BaseContainer.preInvoke(BaseContainer.java:1860) at com.sun.ejb.containers.BaseContainer.callEJBTimeout(BaseContainer.java:3962) at com.sun.ejb.containers.EJBTimerService.deliverTimeout(EJBTimerService.java:1667) at com.sun.ejb.containers.EJBTimerService.access$100(EJBTimerService.java:98) at com.sun.ejb.containers.EJBTimerService$TaskExpiredWork.run(EJBTimerService.java:2485) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) Caused by: javax.ejb.EJBException: javax.ejb.CreateException: Could not create stateless EJB at com.sun.ejb.containers.StatelessSessionContainer$SessionContextFactory.create(StatelessSessionContainer.java:720) at com.sun.ejb.containers.util.pool.NonBlockingPool.getObject(NonBlockingPool.java:200) at com.sun.ejb.containers.StatelessSessionContainer._getContext(StatelessSessionContainer.java:443) ... 12 more Caused by: javax.ejb.CreateException: Could not create stateless EJB at com.sun.ejb.containers.StatelessSessionContainer.createStatelessEJB(StatelessSessionContainer.java:528) at com.sun.ejb.containers.StatelessSessionContainer.access$000(StatelessSessionContainer.java:90) at com.sun.ejb.containers.StatelessSessionContainer$SessionContextFactory.create(StatelessSessionContainer.java:718) ... 14 more Caused by: java.lang.NullPointerException at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:768) at org.jboss.weld.manager.BeanManagerImpl.getBean(BeanManagerImpl.java:1171) at org.jboss.weld.manager.BeanManagerImpl.getBean(BeanManagerImpl.java:132) at org.glassfish.weld.services.JCDIServiceImpl._createJCDIInjectionContext(JCDIServiceImpl.java:145) at org.glassfish.weld.services.JCDIServiceImpl.createJCDIInjectionContext(JCDIServiceImpl.java:122) at com.sun.ejb.containers.BaseContainer.createEjbInstanceAndContext(BaseContainer.java:1616) at com.sun.ejb.containers.StatelessSessionContainer.createStatelessEJB(StatelessSessionContainer.java:469) ... 16 more |#]</p> </blockquote> <p>Using: ejb 3.1, glassfish 3.0.1</p> <p>Some of maven dependency:</p> <pre><code> &lt;dependency&gt; &lt;groupId&gt;javax&lt;/groupId&gt; &lt;artifactId&gt;javaee-api&lt;/artifactId&gt; &lt;version&gt;6.0&lt;/version&gt; &lt;scope&gt;provided&lt;/scope&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.glassfish&lt;/groupId&gt; &lt;artifactId&gt;javax.ejb&lt;/artifactId&gt; &lt;version&gt;3.0&lt;/version&gt; &lt;scope&gt;provided&lt;/scope&gt; &lt;/dependency&gt; &lt;!-- SL4J API --&gt; &lt;dependency&gt; &lt;groupId&gt;org.slf4j&lt;/groupId&gt; &lt;artifactId&gt;slf4j-api&lt;/artifactId&gt; &lt;version&gt;1.6.0&lt;/version&gt; &lt;scope&gt;provided&lt;/scope&gt; &lt;/dependency&gt; &lt;!-- SLF4J JDK14 Binding --&gt; &lt;dependency&gt; &lt;groupId&gt;org.slf4j&lt;/groupId&gt; &lt;artifactId&gt;slf4j-jdk14&lt;/artifactId&gt; &lt;version&gt;1.6.0&lt;/version&gt; &lt;scope&gt;provided&lt;/scope&gt; &lt;/dependency&gt; &lt;!-- Injectable Weld-Logger --&gt; &lt;dependency&gt; &lt;groupId&gt;org.jboss.weld&lt;/groupId&gt; &lt;artifactId&gt;weld-logger&lt;/artifactId&gt; &lt;version&gt;1.0.0-CR2&lt;/version&gt; &lt;scope&gt;provided&lt;/scope&gt; &lt;/dependency&gt; &lt;!--CDI--&gt; &lt;dependency&gt; &lt;groupId&gt;javax.enterprise&lt;/groupId&gt; &lt;artifactId&gt;cdi-api&lt;/artifactId&gt; &lt;scope&gt;provided&lt;/scope&gt; &lt;version&gt;1.0-CR4&lt;/version&gt; &lt;/dependency&gt; </code></pre> <p>ear pom.xml</p> <pre><code>&lt;dependencies&gt; .... &lt;!--weld--&gt; &lt;!-- SL4J API --&gt; &lt;dependency&gt; &lt;groupId&gt;org.slf4j&lt;/groupId&gt; &lt;artifactId&gt;slf4j-api&lt;/artifactId&gt; &lt;version&gt;1.6.0&lt;/version&gt; &lt;/dependency&gt; &lt;!-- SLF4J JDK14 Binding --&gt; &lt;dependency&gt; &lt;groupId&gt;org.slf4j&lt;/groupId&gt; &lt;artifactId&gt;slf4j-jdk14&lt;/artifactId&gt; &lt;version&gt;1.6.0&lt;/version&gt; &lt;/dependency&gt; &lt;!-- Injectable Weld-Logger --&gt; &lt;dependency&gt; &lt;groupId&gt;org.jboss.weld&lt;/groupId&gt; &lt;artifactId&gt;weld-logger&lt;/artifactId&gt; &lt;version&gt;1.0.0-CR2&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;javax.enterprise&lt;/groupId&gt; &lt;artifactId&gt;cdi-api&lt;/artifactId&gt; &lt;version&gt;1.0-CR4&lt;/version&gt; &lt;/dependency&gt; &lt;/dependencies&gt; &lt;build&gt; ... &lt;configuration&gt; &lt;modules&gt; ... &lt;!--weld--&gt; &lt;!-- SL4J API --&gt; &lt;jarModule&gt; &lt;groupId&gt;org.slf4j&lt;/groupId&gt; &lt;artifactId&gt;slf4j-api&lt;/artifactId&gt; &lt;bundleDir&gt;lib&lt;/bundleDir&gt; &lt;/jarModule&gt; &lt;!-- SLF4J JDK14 Binding --&gt; &lt;jarModule&gt; &lt;groupId&gt;org.slf4j&lt;/groupId&gt; &lt;artifactId&gt;slf4j-jdk14&lt;/artifactId&gt; &lt;bundleDir&gt;lib&lt;/bundleDir&gt; &lt;/jarModule&gt; &lt;!-- Injectable Weld-Logger --&gt; &lt;jarModule&gt; &lt;groupId&gt;org.jboss.weld&lt;/groupId&gt; &lt;artifactId&gt;weld-logger&lt;/artifactId&gt; &lt;bundleDir&gt;lib&lt;/bundleDir&gt; &lt;/jarModule&gt; &lt;jarModule&gt; &lt;groupId&gt;javax.enterprise&lt;/groupId&gt; &lt;artifactId&gt;cdi-api&lt;/artifactId&gt; &lt;bundleDir&gt;lib&lt;/bundleDir&gt; &lt;/jarModule&gt; &lt;/modules&gt; &lt;/configuration&gt; &lt;/plugin&gt; &lt;/plugins&gt; &lt;/build&gt; </code></pre> <p>bean.xml in META-INF/</p> <p>Same configuration working with war in ear without ejb (in war, but if I use ejb in war and weld - same exception)</p> <p>Q1: what is wrong?</p> <p>Q2: what is the rules of using weld &amp; ejb 3.1 ?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload