I deploy to JBoss 5.1.0 few JARs containing EJBs (mostly local ones, but some of them are remotes). These EJBs are interrrelated and have some dependencies on other ones (mostly declared as @EJB(mappedBy = “…”)). If I rename JAR files’ names so they are in order consistent with dependencies between them (most standalone JARs first, most dependent last), deployment is fast (about 40 seconds for all 160 beans). But with just regular order, without forcing the container by cheating on files’ names, deployment is still successful, but really slow (about 6 minutes for all 160 beans).
When I compare these two (debug level) logs, many beans are deployed (in fast variant, with order forced) like this:
DEBUG [org.jboss.ejb.txtimer.EJBTimerServiceImpl:228] (main) createTimerService: org.jboss.ejb.txtimer.TimerServiceImpl@4c438fce
DEBUG [org.jboss.ejb.txtimer.NoopPersistencePolicy:228] (main) Noop on listTimerHandles
DEBUG [org.jboss.beans.metadata.plugins.AbstractInjectionValueMetaData:228] (main) jboss.j2ee:jar=platform-common-db-1.0.0-SNAPSHOT.jar,name=UserDAOBean,service=EJB3: Contextual injection usage (class -> classloader): interface javax.transaction.TransactionManager -> BaseClassLoader@6422b8ff{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml} defined by AbstractPropertyMetaData@456dbdf4{name=transactionManager value=AbstractInjectionValueMetaData@27d201c8{value=null injectionType=BY_CLASS propertyMetaData=transactionManager}}
DEBUG [org.jboss.beans.metadata.plugins.AbstractInjectionValueMetaData:228] (main) jboss.j2ee:jar=platform-common-db-1.0.0-SNAPSHOT.jar,name=UserDAOBean,service=EJB3: Contextual injection usage (class -> classloader): interface org.jboss.jca.spi.ComponentStack -> BaseClassLoader@6422b8ff{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml} defined by AbstractPropertyMetaData@4c7305e4{name=cachedConnectionManager value=AbstractInjectionValueMetaData@1387e2f2{value=null injectionType=BY_CLASS propertyMetaData=cachedConnectionManager}}
DEBUG [org.jboss.beans.metadata.plugins.AbstractInjectionValueMetaData:228] (main) jboss.j2ee:jar=platform-common-db-1.0.0-SNAPSHOT.jar,name=UserDAOBean,service=EJB3: Contextual injection usage (class -> classloader): interface org.jboss.ejb3.timerservice.spi.TimerServiceFactory -> BaseClassLoader@6422b8ff{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml} defined by AbstractPropertyMetaData@3e4487e2{name=timerServiceFactory value=AbstractInjectionValueMetaData@535265e{value=null injectionType=BY_CLASS propertyMetaData=timerServiceFactory}}
INFO [org.jboss.ejb3.session.SessionSpecContainer:296] (main) Starting jboss.j2ee:jar=platform-common-db-1.0.0-SNAPSHOT.jar,name=UserDAOBean,service=EJB3
DEBUG [org.jboss.ejb3.tx.UserTransactionImpl:228] (main) new UserTx: org.jboss.ejb3.tx.UserTransactionImpl@475e2675
DEBUG [org.jboss.ejb3.EJBContainer:228] (main) Linked java:comp/TransactionSynchronizationRegistry to JNDI name: java:TransactionSynchronizationRegistry
INFO [org.jboss.ejb3.EJBContainer:296] (main) STARTED EJB: platform.db.dao.bean.UserDAOBean ejbName: UserDAOBean
DEBUG [org.jboss.ejb3.session.SessionContainer:228] (main) Registered jboss.j2ee:jar=platform-common-db-1.0.0-SNAPSHOT.jar,name=UserDAOBean,service=EJB3 with org.jboss.aop.Dispatcher via InvokableContextClassProxyHack at key jboss.j2ee:jar=platform-common-db-1.0.0-SNAPSHOT.jar,name=UserDAOBean,service=EJB3
DEBUG [org.jboss.ejb3.common.registrar.plugin.mc.Ejb3McRegistrar:228] (main) Returning from name "org.jboss.ejb3.JndiRegistrar.Session.SLSBJndiRegistrar": org.jboss.ejb3.proxy.impl.jndiregistrar.JndiStatelessSessionRegistrar@35ac3082
DEBUG [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase:228] (main) Found Session Bean: UserDAOBean
DEBUG [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase:228] (main) Registering org.jboss.ejb3.proxy.impl.factory.session.stateless.StatelessSessionLocalProxyFactory@54353afffor EJB UserDAOBean under key "ProxyFactory/platform-common-db-1.0.0-SNAPSHOT/UserDAOBean/UserDAOBean/local"...
DEBUG [org.jboss.ejb3.proxy.impl.factory.ProxyFactoryBase:228] (main) Started: org.jboss.ejb3.proxy.impl.factory.session.stateless.StatelessSessionLocalProxyFactory@54353aff
DEBUG [org.jboss.ejb3.proxy.impl.factory.session.SessionProxyFactoryBase:228] (main) Created Session Bean Business Interface-Specific Proxy Constructor implementing "platform.db.dao.UserDAO"
DEBUG [org.jboss.ejb3.proxy.impl.factory.session.SessionProxyFactoryBase:228] (main) Created Session Bean Default EJB3 Business Proxy Constructor implementing [interface platform.db.dao.UserDAO]
DEBUG [org.jboss.ejb3.common.registrar.plugin.mc.Ejb3McRegistrar:228] (main) Installed in AbstractKernelController@5a965654{null} at "ProxyFactory/platform-common-db-1.0.0-SNAPSHOT/UserDAOBean/UserDAOBean/local": org.jboss.ejb3.proxy.impl.factory.session.stateless.StatelessSessionLocalProxyFactory@54353aff
DEBUG [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase:228] (main) Adding RefAddr to Reference: Type "ProxyFactoryKey", Content "ProxyFactory/platform-common-db-1.0.0-SNAPSHOT/UserDAOBean/UserDAOBean/local"
DEBUG [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase:228] (main) Adding RefAddr to Reference: Type "EJB Container Name", Content "jboss.j2ee:jar=platform-common-db-1.0.0-SNAPSHOT.jar,name=UserDAOBean,service=EJB3"
DEBUG [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase:228] (main) Adding RefAddr to Default Local Reference: Type "Local Business Interface", Content "platform.db.dao.UserDAO"
DEBUG [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase:228] (main) Default Local Business View for EJB UserDAOBean to be bound into JNDI at "UserDAOBean/local"
DEBUG [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase:228] (main) Adding RefAddr to Reference: Type "ProxyFactoryKey", Content "ProxyFactory/platform-common-db-1.0.0-SNAPSHOT/UserDAOBean/UserDAOBean/local"
DEBUG [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase:228] (main) Adding RefAddr to Reference: Type "EJB Container Name", Content "jboss.j2ee:jar=platform-common-db-1.0.0-SNAPSHOT.jar,name=UserDAOBean,service=EJB3"
DEBUG [org.jboss.metadata.ejb.jboss.jndipolicy.plugins.JBossSessionPolicyDecorator:228] (main) Resolved JNDI Name for Interface platform.db.dao.UserDAO of type BUSINESS_LOCAL is UserDAOBean/local-platform.db.dao.UserDAO
DEBUG [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase:228] (main) Local Business View for platform.db.dao.UserDAO of EJB UserDAOBean to be bound into JNDI at "UserDAOBean/local-platform.db.dao.UserDAO"
INFO [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase:296] (main) Binding the following Entries in Global JNDI:
UserDAOBean/local - EJB3.x Default Local Business Interface
UserDAOBean/local-platform.db.dao.UserDAO - EJB3.x Local Business Interface
In slow variant (no order forced) same bean looks like this:
DEBUG [org.jboss.ejb.txtimer.NoopPersistencePolicy:228] (main) Noop on listTimerHandles
FINE [sun.rmi.loader:212] (main) main: interfaces = [org.jboss.tm.usertx.interfaces.UserTransactionSessionFactory], codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "java.lang.reflect.Proxy", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "org.jboss.proxy.ClientContainer", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "org.jboss.proxy.ClientMethodInterceptor", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "org.jboss.proxy.Interceptor", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "org.jboss.invocation.InvokerInterceptor", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "org.jboss.util.id.GUID", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "org.jboss.util.id.UID", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "org.jboss.util.id.VMID", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "[B", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "org.jboss.util.platform.PID", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "org.jboss.invocation.InvocationContext", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "java.util.HashMap", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "org.jboss.invocation.InvocationKey", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "java.lang.Integer", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "java.lang.Number", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "org.jboss.invocation.unified.interfaces.UnifiedInvokerProxy", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
DEBUG [org.jboss.remoting.Client:228] (main) Client[1637220420:a5p1ca-kio86l-ha5dndsb-1-ha5do79z-9r].connect(null)
DEBUG [org.jboss.remoting.Client:228] (main) Client[1637220420:a5p1ca-kio86l-ha5dndsb-1-ha5do79z-9r] connected to InvokerLocator [socket://10.205.49.219:4446/?dataType=invocation&enableTcpNoDelay=true&marshaller=org.jboss.invocation.unified.marshall.InvocationMarshaller&unmarshaller=org.jboss.invocation.unified.marshall.InvocationUnMarshaller]
DEBUG [org.jboss.remoting.Client:228] (main) Client[1637220420:a5p1ca-kio86l-ha5dndsb-1-ha5do79z-9r] is connected
[blah blah, still same stuff...]
FINE [sun.rmi.loader:212] (main) main: name = "java.util.Properties", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "java.util.Hashtable", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
DEBUG [org.jboss.beans.metadata.plugins.AbstractInjectionValueMetaData:228] (main) jboss.j2ee:jar=platform-common-db-1.0.0-SNAPSHOT.jar,name=UserDAOBean,service=EJB3: Contextual injection usage (class -> classloader): interface javax.transaction.TransactionManager -> BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml} defined by AbstractPropertyMetaData@307d2e98{name=transactionManager value=AbstractInjectionValueMetaData@6a7e1606{value=null injectionType=BY_CLASS propertyMetaData=transactionManager}}
DEBUG [org.jboss.beans.metadata.plugins.AbstractInjectionValueMetaData:228] (main) jboss.j2ee:jar=platform-common-db-1.0.0-SNAPSHOT.jar,name=UserDAOBean,service=EJB3: Contextual injection usage (class -> classloader): interface org.jboss.jca.spi.ComponentStack -> BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml} defined by AbstractPropertyMetaData@7bd81a88{name=cachedConnectionManager value=AbstractInjectionValueMetaData@28b6163d{value=null injectionType=BY_CLASS propertyMetaData=cachedConnectionManager}}
DEBUG [org.jboss.beans.metadata.plugins.AbstractInjectionValueMetaData:228] (main) jboss.j2ee:jar=platform-common-db-1.0.0-SNAPSHOT.jar,name=UserDAOBean,service=EJB3: Contextual injection usage (class -> classloader): interface org.jboss.ejb3.timerservice.spi.TimerServiceFactory -> BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml} defined by AbstractPropertyMetaData@4a6e13ac{name=timerServiceFactory value=AbstractInjectionValueMetaData@cda761{value=null injectionType=BY_CLASS propertyMetaData=timerServiceFactory}}
FINE [sun.rmi.loader:212] (main) main: interfaces = [org.jboss.tm.usertx.interfaces.UserTransactionSessionFactory], codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "java.lang.reflect.Proxy", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "org.jboss.proxy.ClientContainer", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
[blah blah, still same stuff...]
DEBUG [org.jboss.remoting.Client:228] (main) Client[1180505422:a5p1ca-kio86l-ha5dndsb-1-ha5do7d8-9w].connect(null)
DEBUG [org.jboss.remoting.Client:228] (main) Client[1180505422:a5p1ca-kio86l-ha5dndsb-1-ha5do7d8-9w] connected to InvokerLocator [socket://10.205.49.219:4446/?dataType=invocation&enableTcpNoDelay=true&marshaller=org.jboss.invocation.unified.marshall.InvocationMarshaller&unmarshaller=org.jboss.invocation.unified.marshall.InvocationUnMarshaller]
DEBUG [org.jboss.remoting.Client:228] (main) Client[1180505422:a5p1ca-kio86l-ha5dndsb-1-ha5do7d8-9w] is connected
FINE [sun.rmi.loader:212] (main) main: name = "java.util.Properties", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "java.util.Hashtable", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
INFO [org.jboss.ejb3.session.SessionSpecContainer:296] (main) Starting jboss.j2ee:jar=platform-common-db-1.0.0-SNAPSHOT.jar,name=UserDAOBean,service=EJB3
DEBUG [org.jboss.ejb3.tx.UserTransactionImpl:228] (main) new UserTx: org.jboss.ejb3.tx.UserTransactionImpl@921d7f9
DEBUG [org.jboss.ejb3.EJBContainer:228] (main) Linked java:comp/TransactionSynchronizationRegistry to JNDI name: java:TransactionSynchronizationRegistry
INFO [org.jboss.ejb3.EJBContainer:296] (main) STARTED EJB: platform.db.dao.bean.UserDAOBean ejbName: UserDAOBean
DEBUG [org.jboss.ejb3.session.SessionContainer:228] (main) Registered jboss.j2ee:jar=platform-common-db-1.0.0-SNAPSHOT.jar,name=UserDAOBean,service=EJB3 with org.jboss.aop.Dispatcher via InvokableContextClassProxyHack at key jboss.j2ee:jar=platform-common-db-1.0.0-SNAPSHOT.jar,name=UserDAOBean,service=EJB3
DEBUG [org.jboss.ejb3.common.registrar.plugin.mc.Ejb3McRegistrar:228] (main) Returning from name "org.jboss.ejb3.JndiRegistrar.Session.SLSBJndiRegistrar": org.jboss.ejb3.proxy.impl.jndiregistrar.JndiStatelessSessionRegistrar@62b512e7
DEBUG [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase:228] (main) Found Session Bean: UserDAOBean
DEBUG [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase:228] (main) Registering org.jboss.ejb3.proxy.impl.factory.session.stateless.StatelessSessionLocalProxyFactory@44b0dac3for EJB UserDAOBean under key "ProxyFactory/platform-common-db-1.0.0-SNAPSHOT/UserDAOBean/UserDAOBean/local"...
FINE [sun.rmi.loader:212] (main) main: interfaces = [org.jboss.tm.usertx.interfaces.UserTransactionSessionFactory], codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "java.lang.reflect.Proxy", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "org.jboss.proxy.ClientContainer", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "org.jboss.proxy.ClientMethodInterceptor", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "org.jboss.proxy.Interceptor", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "org.jboss.invocation.InvokerInterceptor", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "org.jboss.util.id.GUID", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "org.jboss.util.id.UID", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "org.jboss.util.id.VMID", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "[B", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "org.jboss.util.platform.PID", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "org.jboss.invocation.InvocationContext", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "java.util.HashMap", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "org.jboss.invocation.InvocationKey", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "java.lang.Integer", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "java.lang.Number", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "org.jboss.invocation.unified.interfaces.UnifiedInvokerProxy", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
DEBUG [org.jboss.remoting.Client:228] (main) Client[1410937402:a5p1ca-kio86l-ha5dndsb-1-ha5do7e0-9x].connect(null)
DEBUG [org.jboss.remoting.Client:228] (main) Client[1410937402:a5p1ca-kio86l-ha5dndsb-1-ha5do7e0-9x] connected to InvokerLocator [socket://10.205.49.219:4446/?dataType=invocation&enableTcpNoDelay=true&marshaller=org.jboss.invocation.unified.marshall.InvocationMarshaller&unmarshaller=org.jboss.invocation.unified.marshall.InvocationUnMarshaller]
DEBUG [org.jboss.remoting.Client:228] (main) Client[1410937402:a5p1ca-kio86l-ha5dndsb-1-ha5do7e0-9x] is connected
[blah blah, still same stuff...]
DEBUG [org.jboss.remoting.Client:228] (main) Client[980099834:a5p1ca-kio86l-ha5dndsb-1-ha5do7ii-a3].connect(null)
DEBUG [org.jboss.remoting.Client:228] (main) Client[980099834:a5p1ca-kio86l-ha5dndsb-1-ha5do7ii-a3] connected to InvokerLocator [socket://10.205.49.219:4446/?dataType=invocation&enableTcpNoDelay=true&marshaller=org.jboss.invocation.unified.marshall.InvocationMarshaller&unmarshaller=org.jboss.invocation.unified.marshall.InvocationUnMarshaller]
DEBUG [org.jboss.remoting.Client:228] (main) Client[980099834:a5p1ca-kio86l-ha5dndsb-1-ha5do7ii-a3] is connected
FINE [sun.rmi.loader:212] (main) main: name = "java.util.Properties", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
FINE [sun.rmi.loader:212] (main) main: name = "java.util.Hashtable", codebase = "", defaultLoader = BaseClassLoader@706a48e4{vfsfile:/home/jboss/admin-jboss/admin-jboss-dev-server/target/jboss5-admin-mk/server/admin/conf/jboss-service.xml}
DEBUG [org.jboss.ejb3.common.registrar.plugin.mc.Ejb3McRegistrar:228] (main) Installed in AbstractKernelController@77e3cabd{null} at "ProxyFactory/platform-common-db-1.0.0-SNAPSHOT/UserDAOBean/UserDAOBean/local": org.jboss.ejb3.proxy.impl.factory.session.stateless.StatelessSessionLocalProxyFactory@44b0dac3
DEBUG [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase:228] (main) Adding RefAddr to Reference: Type "ProxyFactoryKey", Content "ProxyFactory/platform-common-db-1.0.0-SNAPSHOT/UserDAOBean/UserDAOBean/local"
DEBUG [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase:228] (main) Adding RefAddr to Reference: Type "EJB Container Name", Content "jboss.j2ee:jar=platform-common-db-1.0.0-SNAPSHOT.jar,name=UserDAOBean,service=EJB3"
DEBUG [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase:228] (main) Adding RefAddr to Default Local Reference: Type "Local Business Interface", Content "platform.db.dao.UserDAO"
DEBUG [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase:228] (main) Default Local Business View for EJB UserDAOBean to be bound into JNDI at "UserDAOBean/local"
DEBUG [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase:228] (main) Adding RefAddr to Reference: Type "ProxyFactoryKey", Content "ProxyFactory/platform-common-db-1.0.0-SNAPSHOT/UserDAOBean/UserDAOBean/local"
DEBUG [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase:228] (main) Adding RefAddr to Reference: Type "EJB Container Name", Content "jboss.j2ee:jar=platform-common-db-1.0.0-SNAPSHOT.jar,name=UserDAOBean,service=EJB3"
DEBUG [org.jboss.metadata.ejb.jboss.jndipolicy.plugins.JBossSessionPolicyDecorator:228] (main) Resolved JNDI Name for Interface platform.db.dao.UserDAO of type BUSINESS_LOCAL is UserDAOBean/local-platform.db.dao.UserDAO
DEBUG [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase:228] (main) Local Business View for platform.db.dao.UserDAO of EJB UserDAOBean to be bound into JNDI at "UserDAOBean/local-platform.db.dao.UserDAO"
INFO [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase:296] (main) Binding the following Entries in Global JNDI:
UserDAOBean/local - EJB3.x Default Local Business Interface
UserDAOBean/local-platform.db.dao.UserDAO - EJB3.x Local Business Interface
As you see, there are many Remoting/RMI invocations. That’s what takes so long to deploy everything. I wonder how to fix this to have still fast deploy without changing file names. Deployment is still successful, as I said, and there is right dependency resolution when it’s first time needed, as I see in log. I tried with EAR, but it’s the same. Can you help me with this?
I have found the solution. Maybe someone will find it useful. I removed “org.jboss.ejb3.kernel.JNDIKernelRegistryPlugin” from EJB3 Deployer configuration and now everything works similarly fast.