You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by "Romain Manni-Bucau (JIRA)" <ji...@apache.org> on 2016/06/06 05:46:59 UTC

[jira] [Commented] (TOMEE-1828) OpenEJB application fails to find singleton container when openejb.offline = true

    [ https://issues.apache.org/jira/browse/TOMEE-1828?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15316218#comment-15316218 ] 

Romain Manni-Bucau commented on TOMEE-1828:
-------------------------------------------

Hi

a workaround is to set openejb.system.apps=false (default in tomee 7)

> OpenEJB application fails to find singleton container when openejb.offline = true
> ---------------------------------------------------------------------------------
>
>                 Key: TOMEE-1828
>                 URL: https://issues.apache.org/jira/browse/TOMEE-1828
>             Project: TomEE
>          Issue Type: Bug
>          Components: TomEE Core Server
>            Reporter: Alexander Larsen
>
> When starting tomee with openejb.offline=true, the openejb application fails to deploy since it can not find a singleton container - even if one is defined in tomee.xml.
> {noformat:title=Stack Trace}
> INFO - Configuring Service(id=MyStatelessContainer, type=Container, provider-id=Default Stateless Container)
> INFO - Configuring Service(id=MyStatefulContainer, type=Container, provider-id=Default Stateful Container)
> INFO - Configuring Service(id=MySingletonContainer, type=Container, provider-id=Default Singleton Container)
> INFO - Configuring Service(id=MyManagedContainer, type=Container, provider-id=Default Managed Container)
> INFO - Using 'openejb.system.apps=true'
> SEVERE - FATAL ERROR: Unknown error in Assembler.  Please send the following stack trace and this message to users@tomee.apache.org :
>  java.lang.IllegalStateException: system application (openejb) needs a singleton container. Noone is defined and container is in offline mode. Please define one in tomee.xml.
> 	at org.apache.openejb.config.SystemAppInfo.findSingletonContainer(SystemAppInfo.java:134)
> 	at org.apache.openejb.config.SystemAppInfo.preComputedInfo(SystemAppInfo.java:43)
> 	at org.apache.openejb.config.ConfigurationFactory.getOpenEjbConfiguration(ConfigurationFactory.java:559)
> 	at org.apache.openejb.config.ConfigurationFactory.getOpenEjbConfiguration(ConfigurationFactory.java:627)
> 	at org.apache.openejb.assembler.classic.Assembler.getOpenEjbConfiguration(Assembler.java:500)
> 	at org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:479)
> 	at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:150)
> 	at org.apache.openejb.OpenEJB.init(OpenEJB.java:307)
> 	at org.apache.tomee.catalina.TomcatLoader.initialize(TomcatLoader.java:266)
> 	at org.apache.tomee.catalina.ServerListener.lifecycleEvent(ServerListener.java:168)
> 	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
> 	at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:401)
> 	at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:115)
> 	at org.apache.catalina.startup.Catalina.load(Catalina.java:606)
> 	at org.apache.catalina.startup.Catalina.load(Catalina.java:629)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:498)
> 	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:311)
> 	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:494)
> {noformat}
> {noformat:title=Possible fix}
> --- a/container/openejb-core/src/main/java/org/apache/openejb/config/SystemAppInfo.java
> +++ b/container/openejb-core/src/main/java/org/apache/openejb/config/SystemAppInfo.java
> @@ -126,7 +126,7 @@ public final class SystemAppInfo {
>      // simplified logic compared to AutoConfig
>      private static String findSingletonContainer(final ConfigurationFactory configFactory) throws OpenEJBException {
>          for (final ContainerInfo containerInfo : configFactory.getContainerInfos()) {
> -            if (SingletonSessionContainerInfo.class.isInstance(configFactory)) {
> +            if (SingletonSessionContainerInfo.class.isInstance(containerInfo)) {
>                  return containerInfo.id;
>              }
>          }
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)