[jboss-jira] [JBoss JIRA] (WFLY-9074) NPE o.j.a.ejb3.component.stateful.StatefulComponentSessionIdGeneratingInterceptor.processInvocation()

Darryl Miles (JIRA) issues at jboss.org
Tue Jul 11 11:40:04 EDT 2017


    [ https://issues.jboss.org/browse/WFLY-9074?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13434152#comment-13434152 ] 

Darryl Miles commented on WFLY-9074:
------------------------------------

$ cat -n org/jboss/as/ejb3/component/stateful/StatefulComponentSessionIdGeneratingInterceptor.java
     1  /*
     2   * JBoss, Home of Professional Open Source.
     3   * Copyright 2011, Red Hat, Inc., and individual contributors
     4   * as indicated by the @author tags. See the copyright.txt file in the
     5   * distribution for a full listing of individual contributors.
     6   *
     7   * This is free software; you can redistribute it and/or modify it
     8   * under the terms of the GNU Lesser General Public License as
     9   * published by the Free Software Foundation; either version 2.1 of
    10   * the License, or (at your option) any later version.
    11   *
    12   * This software is distributed in the hope that it will be useful,
    13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
    14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    15   * Lesser General Public License for more details.
    16   *
    17   * You should have received a copy of the GNU Lesser General Public
    18   * License along with this software; if not, write to the Free
    19   * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    20   * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
    21   */
    22
    23  package org.jboss.as.ejb3.component.stateful;
    24
    25  import org.jboss.as.ee.component.Component;
    26  import org.jboss.as.ee.component.ComponentClientInstance;
    27  import org.jboss.as.ejb3.logging.EjbLogger;
    28  import org.jboss.ejb.client.SessionID;
    29  import org.jboss.invocation.ImmediateInterceptorFactory;
    30  import org.jboss.invocation.Interceptor;
    31  import org.jboss.invocation.InterceptorContext;
    32  import org.jboss.invocation.InterceptorFactory;
    33
    34  /**
    35   * User: jpai
    36   */
    37  public class StatefulComponentSessionIdGeneratingInterceptor implements Interceptor {
    38
    39      public static final InterceptorFactory FACTORY = new ImmediateInterceptorFactory(new org.jboss.as.ejb3.component.stateful.StatefulComponentSessionIdGeneratingInterceptor());
    40
    41      private StatefulComponentSessionIdGeneratingInterceptor() {
    42      }
    43
    44      @Override
    45      public Object processInvocation(InterceptorContext context) throws Exception {
    46          final Component component = context.getPrivateData(Component.class);
    47          if (component instanceof StatefulSessionComponent == false) {
    48              throw EjbLogger.ROOT_LOGGER.unexpectedComponent(component, StatefulSessionComponent.class);
    49          }
    50          ComponentClientInstance clientInstance = context.getPrivateData(ComponentClientInstance.class);
    51          SessionID existing = context.getPrivateData(SessionID.class);
    52          if (existing != null) {
    53              clientInstance.setViewInstanceData(SessionID.class, existing);
    54          } else {
    55              StatefulSessionComponent statefulComponent = (StatefulSessionComponent) component;
    56              statefulComponent.waitForComponentStart();
    57              StatefulSessionComponentInstance statefulSessionComponentInstance = statefulComponent.getCache().create();
    58              clientInstance.setViewInstanceData(SessionID.class, statefulSessionComponentInstance.getId());
    59          }
    60
    61          // move to the next interceptor in chain
    62          return context.proceed();
    63      }
    64  }


> NPE o.j.a.ejb3.component.stateful.StatefulComponentSessionIdGeneratingInterceptor.processInvocation()
> -----------------------------------------------------------------------------------------------------
>
>                 Key: WFLY-9074
>                 URL: https://issues.jboss.org/browse/WFLY-9074
>             Project: WildFly
>          Issue Type: Bug
>          Components: EJB
>    Affects Versions: 10.1.0.Final
>            Reporter: Darryl Miles
>
> https://issues.jboss.org/browse/WFLY-6663  (see fix for this other bug, maybe the 1 line wait method is needed somewhere else too?)
> Much more intermittent matter (I guess the time window is smaller).
> 16:14:04,428 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 19) MSC000001: Failed to start service jboss.deployment.subunit."com.domain.ear-0.0.1-SNAPSHOT.ear"."com-domain-ejb.main-0.0.1-SNAPSHOT.jar".component.MainStartupEjbImpl.START: org.jboss.msc.service.StartException in service jboss.deployment.subunit."com.domain.ear-0.0.1-SNAPSHOT.ear"."com-domain-ejb.main-0.0.1-SNAPSHOT.jar".component.MainStartupEjbImpl.START: java.lang.IllegalStateException: WFLYEE0042: Failed to construct component instance
> 	at org.jboss.as.ee.component.ComponentStartService$1.run(ComponentStartService.java:57)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.run(Thread.java:748)
> 	at org.jboss.threads.JBossThread.run(JBossThread.java:320)
> Caused by: java.lang.IllegalStateException: WFLYEE0042: Failed to construct component instance
> 	at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:163)
> 	at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:134)
> 	at org.jboss.as.ee.component.BasicComponent.createInstance(BasicComponent.java:88)
> 	at org.jboss.as.ejb3.component.singleton.SingletonComponent.getComponentInstance(SingletonComponent.java:124)
> 	at org.jboss.as.ejb3.component.singleton.SingletonComponent.start(SingletonComponent.java:138)
> 	at org.jboss.as.ee.component.ComponentStartService$1.run(ComponentStartService.java:54)
> 	... 6 more
> Caused by: javax.ejb.EJBException: java.lang.RuntimeException: WFLYNAM0059: Resource lookup for injection failed: env/com.domain.ejb.main.impl.MainStartupEjbImpl/mainEjb
> 	at org.jboss.as.ejb3.tx.BMTInterceptor.handleException(BMTInterceptor.java:83)
> 	at org.jboss.as.ejb3.tx.EjbBMTInterceptor.checkStatelessDone(EjbBMTInterceptor.java:91)
> 	at org.jboss.as.ejb3.tx.EjbBMTInterceptor.handleInvocation(EjbBMTInterceptor.java:106)
> 	at org.jboss.as.ejb3.tx.BMTInterceptor.processInvocation(BMTInterceptor.java:58)
> 	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at org.jboss.as.weld.injection.WeldInjectionContextInterceptor.processInvocation(WeldInjectionContextInterceptor.java:43)
> 	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
> 	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45)
> 	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)
> 	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at org.jboss.as.ejb3.component.singleton.StartupCountDownInterceptor.processInvocation(StartupCountDownInterceptor.java:25)
> 	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)
> 	at org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)
> 	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
> 	at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:161)
> 	... 11 more
> Caused by: java.lang.RuntimeException: WFLYNAM0059: Resource lookup for injection failed: env/com.domain.ejb.main.impl.MainStartupEjbImpl/mainEjb
> 	at org.jboss.as.naming.deployment.ContextNames$BindInfo$1$1.getReference(ContextNames.java:319)
> 	at org.jboss.as.ee.component.ManagedReferenceFieldInjectionInterceptorFactory$ManagedReferenceFieldInjectionInterceptor.processInvocation(ManagedReferenceFieldInjectionInterceptorFactory.java:97)
> 	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at org.jboss.as.ee.component.ManagedReferenceFieldInjectionInterceptorFactory$ManagedReferenceFieldInjectionInterceptor.processInvocation(ManagedReferenceFieldInjectionInterceptorFactory.java:107)
> 	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at org.jboss.as.ee.component.ManagedReferenceFieldInjectionInterceptorFactory$ManagedReferenceFieldInjectionInterceptor.processInvocation(ManagedReferenceFieldInjectionInterceptorFactory.java:107)
> 	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at org.jboss.as.ee.component.ManagedReferenceFieldInjectionInterceptorFactory$ManagedReferenceFieldInjectionInterceptor.processInvocation(ManagedReferenceFieldInjectionInterceptorFactory.java:107)
> 	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at org.jboss.as.ee.component.AroundConstructInterceptorFactory$1.processInvocation(AroundConstructInterceptorFactory.java:28)
> 	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at org.jboss.as.weld.injection.WeldInterceptorInjectionInterceptor.processInvocation(WeldInterceptorInjectionInterceptor.java:56)
> 	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at org.jboss.as.weld.ejb.Jsr299BindingsCreateInterceptor.processInvocation(Jsr299BindingsCreateInterceptor.java:100)
> 	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
> 	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at org.jboss.as.ejb3.tx.EjbBMTInterceptor.handleInvocation(EjbBMTInterceptor.java:103)
> 	... 28 more
> Caused by: javax.naming.NameNotFoundException: env/com.domain.ejb.main.impl.MainStartupEjbImpl/mainEjb [Root exception is java.lang.IllegalStateException: WFLYEE0046: Failed to instantiate component view]
> 	at org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:153)
> 	at org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:83)
> 	at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:207)
> 	at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:193)
> 	at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:189)
> 	at org.jboss.as.naming.deployment.ContextNames$BindInfo$1$1.getReference(ContextNames.java:316)
> 	... 45 more
> Caused by: java.lang.IllegalStateException: WFLYEE0046: Failed to instantiate component view
> 	at org.jboss.as.ee.component.ViewManagedReferenceFactory.getReference(ViewManagedReferenceFactory.java:58)
> 	at org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:143)
> 	... 50 more
> Caused by: java.lang.NullPointerException
> 	at org.jboss.as.ejb3.component.stateful.StatefulComponentSessionIdGeneratingInterceptor.processInvocation(StatefulComponentSessionIdGeneratingInterceptor.java:57)
> 	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
> 	at org.jboss.as.ee.component.ViewService$DefaultViewInstanceFactory.createViewInstance(ViewService.java:305)
> 	at org.jboss.as.ee.component.ViewService$View.createInstance(ViewService.java:184)
> 	at org.jboss.as.ee.component.ViewService$View.createInstance(ViewService.java:174)
> 	at org.jboss.as.ee.component.ViewManagedReferenceFactory.getReference(ViewManagedReferenceFactory.java:56)
> 	... 51 more



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the jboss-jira mailing list