[jboss-user] [JNDI/Naming/Network] - Re: Beans disappear in Global JNDI Namespace after running a

happy_robot do-not-reply at jboss.com
Fri May 8 08:40:56 EDT 2009


I'm running on 

- opensuse 11.1 64bit (also reproducable on 32bit) 
- Java 1.6.0_01-b06 (sun)
- jboss-5.1.0.Beta1

I tested this issue yesterday again and started a really stressing test (ca 750 Sessions permanently open).
It really works fine for about 99000 sessions without any warnings or exceptions. 
After stopping the stress-tool (JMeter) the JNDI namespace looks also as expected.
Now after 3 hours of sleep the namespace is damaged again..... 

As you can see below my application and beans are still known.
This is the full output of the JNDI-view from the jmx-console:


  | Other components with java:comp namespace:
  | 
  | java:comp namespace of the component jboss.j2ee:ear=CSDatabase.ear,jar=CSDatabaseEJB.jar,name=ServerExportManager,service=EJB3 :
  | 
  |   +- UserTransaction (class: org.jboss.ejb3.tx.UserTransactionImpl)
  |   +- TransactionSynchronizationRegistry[link -> java:TransactionSynchronizationRegistry] (class: javax.naming.LinkRef)
  |   +- EJBContext (class: javax.ejb.EJBContext)
  |   +- ORB[link -> java:/JBossCorbaORB] (class: javax.naming.LinkRef)
  |   +- env (class: org.jnp.interfaces.NamingContext)
  |   |   +- de.myapplication.general.database.server.services.ServerExportManager (class: org.jnp.interfaces.NamingContext)
  |   |   |   +- em (class: org.jboss.jpa.tx.TransactionScopedEntityManager)
  |   |   +- em (class: org.jboss.jpa.tx.TransactionScopedEntityManager)
  | 
  | 
  | java:comp namespace of the component jboss.j2ee:jar=profileservice-secured.jar,name=SecureProfileService,service=EJB3 :
  | 
  |   +- UserTransaction (class: org.jboss.ejb3.tx.UserTransactionImpl)
  |   +- TransactionSynchronizationRegistry[link -> java:TransactionSynchronizationRegistry] (class: javax.naming.LinkRef)
  |   +- EJBContext (class: javax.ejb.EJBContext)
  |   +- ORB[link -> java:/JBossCorbaORB] (class: javax.naming.LinkRef)
  |   +- env (class: org.jnp.interfaces.NamingContext)
  |   |   +- org.jboss.profileservice.ejb.SecureProfileServiceBean (class: org.jnp.interfaces.NamingContext)
  |   |   |   +- mgtView[link -> SecureManagementView/remote-org.jboss.deployers.spi.management.ManagementView] (class: javax.naming.LinkRef)
  |   |   |   +- delegate[link -> ProfileService] (class: javax.naming.LinkRef)
  |   |   +- profileService[link -> ProfileService] (class: javax.naming.LinkRef)
  | 
  | 
  | java:comp namespace of the component jboss.j2ee:ear=CSDatabase.ear,jar=CSDatabaseEJB.jar,name=ServerWebClientRemote,service=EJB3 :
  | 
  |   +- UserTransaction (class: org.jboss.ejb3.tx.UserTransactionImpl)
  |   +- TransactionSynchronizationRegistry[link -> java:TransactionSynchronizationRegistry] (class: javax.naming.LinkRef)
  |   +- EJBContext (class: javax.ejb.EJBContext)
  |   +- ORB[link -> java:/JBossCorbaORB] (class: javax.naming.LinkRef)
  |   +- env (class: org.jnp.interfaces.NamingContext)
  |   |   +- entityManager (class: org.jboss.jpa.tx.TransactionScopedEntityManager)
  |   |   +- de.myapplication.general.database.server.services.ServerWebClientRemote (class: org.jnp.interfaces.NamingContext)
  |   |   |   +- entityManager (class: org.jboss.jpa.tx.TransactionScopedEntityManager)
  | 
  | 
  | java:comp namespace of the component jboss.j2ee:ear=CSDatabase.ear,jar=CSDatabaseEJB.jar,name=ServerDatabaseManager,service=EJB3 :
  | 
  |   +- UserTransaction (class: org.jboss.ejb3.tx.UserTransactionImpl)
  |   +- TransactionSynchronizationRegistry[link -> java:TransactionSynchronizationRegistry] (class: javax.naming.LinkRef)
  |   +- EJBContext (class: javax.ejb.EJBContext)
  |   +- ORB[link -> java:/JBossCorbaORB] (class: javax.naming.LinkRef)
  |   +- env (class: org.jnp.interfaces.NamingContext)
  |   |   +- entityManager (class: org.jboss.jpa.tx.TransactionScopedEntityManager)
  |   |   +- de.myapplication.general.database.server.services.DatabaseManager (class: org.jnp.interfaces.NamingContext)
  |   |   |   +- entityManager (class: org.jboss.jpa.tx.TransactionScopedEntityManager)
  | 
  | 
  | java:comp namespace of the component jboss.j2ee:ear=CSDatabase.ear,jar=CSDatabaseEJB.jar,name=TopicListener,service=EJB3 :
  | 
  |   +- UserTransaction (class: org.jboss.ejb3.tx.UserTransactionImpl)
  |   +- TransactionSynchronizationRegistry[link -> java:TransactionSynchronizationRegistry] (class: javax.naming.LinkRef)
  |   +- EJBContext (class: javax.ejb.EJBContext)
  |   +- ORB[link -> java:/JBossCorbaORB] (class: javax.naming.LinkRef)
  |   +- env (class: org.jnp.interfaces.NamingContext)
  |   |   +- de.myapplication.general.database.server.services.TopicListener (class: org.jnp.interfaces.NamingContext)
  |   |   |   +- msgDrivCtx[link -> java:comp/EJBContext] (class: javax.naming.LinkRef)
  | 
  | 
  | java:comp namespace of the component jboss.j2ee:jar=profileservice-secured.jar,name=SecureManagementView,service=EJB3 :
  | 
  |   +- UserTransaction (class: org.jboss.ejb3.tx.UserTransactionImpl)
  |   +- TransactionSynchronizationRegistry[link -> java:TransactionSynchronizationRegistry] (class: javax.naming.LinkRef)
  |   +- EJBContext (class: javax.ejb.EJBContext)
  |   +- ORB[link -> java:/JBossCorbaORB] (class: javax.naming.LinkRef)
  |   +- env (class: org.jnp.interfaces.NamingContext)
  |   |   +- org.jboss.profileservice.ejb.SecureManagementView (class: org.jnp.interfaces.NamingContext)
  |   |   |   +- profileService[link -> ProfileService] (class: javax.naming.LinkRef)
  |   |   +- profileService[link -> ProfileService] (class: javax.naming.LinkRef)
  | 
  | 
  | java:comp namespace of the component jboss.j2ee:ear=CSDatabase.ear,jar=CSDatabaseEJB.jar,name=ServerImportManager,service=EJB3 :
  | 
  |   +- UserTransaction (class: org.jboss.ejb3.tx.UserTransactionImpl)
  |   +- TransactionSynchronizationRegistry[link -> java:TransactionSynchronizationRegistry] (class: javax.naming.LinkRef)
  |   +- EJBContext (class: javax.ejb.EJBContext)
  |   +- ORB[link -> java:/JBossCorbaORB] (class: javax.naming.LinkRef)
  |   +- env (class: org.jnp.interfaces.NamingContext)
  |   |   +- entityManager (class: org.jboss.jpa.tx.TransactionScopedEntityManager)
  |   |   +- de.myapplication.general.database.server.services.ServerImportManager (class: org.jnp.interfaces.NamingContext)
  |   |   |   +- entityManager (class: org.jboss.jpa.tx.TransactionScopedEntityManager)
  | 
  | 
  | java:comp namespace of the component jboss.j2ee:ear=CSDatabase.ear,jar=CSDatabaseEJB.jar,name=ServerClientRequestManager,service=EJB3 :
  | 
  |   +- UserTransaction (class: org.jboss.ejb3.tx.UserTransactionImpl)
  |   +- TransactionSynchronizationRegistry[link -> java:TransactionSynchronizationRegistry] (class: javax.naming.LinkRef)
  |   +- EJBContext (class: javax.ejb.EJBContext)
  |   +- ORB[link -> java:/JBossCorbaORB] (class: javax.naming.LinkRef)
  |   +- env (class: org.jnp.interfaces.NamingContext)
  |   |   +- entityManager (class: org.jboss.jpa.tx.TransactionScopedEntityManager)
  |   |   +- de.myapplication.general.database.server.services.ServerClientRequestManager (class: org.jnp.interfaces.NamingContext)
  |   |   |   +- entityManager (class: org.jboss.jpa.tx.TransactionScopedEntityManager)
  | 
  | 
  | java:comp namespace of the component jboss.j2ee:jar=profileservice-secured.jar,name=SecureDeploymentManager,service=EJB3 :
  | 
  |   +- UserTransaction (class: org.jboss.ejb3.tx.UserTransactionImpl)
  |   +- TransactionSynchronizationRegistry[link -> java:TransactionSynchronizationRegistry] (class: javax.naming.LinkRef)
  |   +- EJBContext (class: javax.ejb.EJBContext)
  |   +- ORB[link -> java:/JBossCorbaORB] (class: javax.naming.LinkRef)
  |   +- env (class: org.jnp.interfaces.NamingContext)
  |   |   +- org.jboss.profileservice.ejb.SecureDeploymentManager (class: org.jnp.interfaces.NamingContext)
  |   |   |   +- profileService[link -> ProfileService] (class: javax.naming.LinkRef)
  |   |   +- profileService[link -> ProfileService] (class: javax.naming.LinkRef)
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | java: Namespace
  | 
  |   +- XAConnectionFactory (class: org.jboss.jms.client.JBossConnectionFactory)
  |   +- SecurityProxyFactory (class: org.jboss.security.SubjectSecurityProxyFactory)
  |   +- timedCacheFactory (class: javax.naming.Context)
  | Failed to lookup: timedCacheFactory, errmsg=org.jboss.util.TimedCachePolicy cannot be cast to javax.naming.NamingEnumeration
  |   +- policyRegistration (class: org.jboss.security.plugins.JBossPolicyRegistration)
  |   +- securityManagement (class: org.jboss.security.integration.JNDIBasedSecurityManagement)
  |   +- DefaultJMSProvider (class: org.jboss.jms.jndi.JNDIProviderAdapter)
  |   +- TransactionSynchronizationRegistry (class: com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionSynchronizationRegistryImple)
  |   +- TransactionManager (class: com.arjuna.ats.jbossatx.jta.TransactionManagerDelegate)
  |   +- TransactionPropagationContextImporter (class: com.arjuna.ats.internal.jbossatx.jta.PropagationContextManager)
  |   +- ConnectionFactory (class: org.jboss.jms.client.JBossConnectionFactory)
  |   +- ClusteredXAConnectionFactory (class: org.jboss.jms.client.JBossConnectionFactory)
  |   +- ClusteredConnectionFactory (class: org.jboss.jms.client.JBossConnectionFactory)
  |   +- TransactionPropagationContextExporter (class: com.arjuna.ats.internal.jbossatx.jta.PropagationContextManager)
  |   +- MyApplicationEntityManager (class: org.jboss.jpa.tx.TransactionScopedEntityManager)
  |   +- MyApplicationDS (class: org.jboss.resource.adapter.jdbc.WrapperDataSource)
  |   +- DefaultDS (class: org.jboss.resource.adapter.jdbc.WrapperDataSource)
  |   +- JmsXA (class: org.jboss.resource.adapter.jms.JmsConnectionFactoryImpl)
  |   +- jaas (class: javax.naming.Context)
  |   |   +- profileservice (class: org.jboss.security.plugins.SecurityDomainContext)
  |   |   +- messaging (class: org.jboss.security.plugins.SecurityDomainContext)
  |   |   +- HsqlDbRealm (class: org.jboss.security.plugins.SecurityDomainContext)
  |   |   +- jboss-web-policy (class: org.jboss.security.plugins.SecurityDomainContext)
  |   +- comp (class: javax.namingMain.Context)
  |   +- Mail (class: javax.mail.Session)
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | Global JNDI Namespace
  | 
  |   +- XAConnectionFactory (class: org.jboss.jms.client.JBossConnectionFactory)
  |   +- UserTransaction (class: org.jboss.tm.usertx.client.ClientUserTransaction)
  |   +- UUIDKeyGeneratorFactory (class: org.jboss.ejb.plugins.keygenerator.uuid.UUIDKeyGeneratorFactory)
  |   +- persistence.unit:unitName=CSDatabase.ear (class: org.jnp.interfaces.NamingContext)
  |   |   +- CSDatabaseEJB.jar#MyApplicationDatabasePU (class: org.hibernate.impl.SessionFactoryImpl)
  |   +- HiLoKeyGeneratorFactory (class: org.jboss.ejb.plugins.keygenerator.hilo.HiLoKeyGeneratorFactory)
  |   +- ConnectionFactory (class: org.jboss.jms.client.JBossConnectionFactory)
  |   +- UserTransactionSessionFactory (proxy: $Proxy136 implements interface org.jboss.tm.usertx.interfaces.UserTransactionSessionFactory)
  |   +- console (class: org.jnp.interfaces.NamingContext)
  |   |   +- PluginManager (proxy: $Proxy140 implements org.jboss.console.manager.PluginManagerMBean (no security manager: RMI class loader disabled))
  |   +- ClusteredXAConnectionFactory (class: org.jboss.jms.client.JBossConnectionFactory)
  |   +- ClusteredConnectionFactory (class: org.jboss.jms.client.JBossConnectionFactory)
  |   +- TomcatAuthenticators (class: java.util.Properties)
  |   +- ProfileService (class: AOPProxy$0)
  |   +- jmx (class: org.jnp.interfaces.NamingContext)
  |   |   +- invoker (class: org.jnp.interfaces.NamingContext)
  |   |   |   +- RMIAdaptor (proxy: $Proxy138 implements interface org.jboss.jmx.adaptor.rmi.RMIAdaptor,interface org.jboss.jmx.adaptor.rmi.RMIAdaptorExt)
  |   |   +- rmi (class: org.jnp.interfaces.NamingContext)
  |   |   |   +- RMIAdaptor[link -> jmx/invoker/RMIAdaptor] (class: javax.naming.LinkRef)
  |   +- queue (class: org.jnp.interfaces.NamingContext)
  |   |   +- ExpiryQueue (class: org.jboss.jms.destination.JBossQueue)
  |   |   +- DLQ (class: org.jboss.jms.destination.JBossQueue)
  |   +- topic (class: org.jnp.interfaces.NamingContext)
  |   |   +- MyApplication (class: org.jboss.jms.destination.JBossTopic)
  | 
  | 
  | 



The declaration of my beans only use standard annotations.


  | @Remote
  | public interface IServerWebClientRemote {
  | ....
  | }
  | 
  | 
  | @Stateful
  | public class ServerWebClientRemote implements IServerWebClientRemote {
  | 
  | 	@PersistenceContext(unitName = "MyDatabasePU", type=PersistenceContextType.TRANSACTION)
  | 	private EntityManager entityManager;
  | 	
  | 	@Remove
  | 	public synchronized void disconnect() {
  | 		// Nothing special here, don't call other objects, only instance counting....
  | 	}
  | }
  | 

I don't use JBOSS-sepcific jars in my project. Only the standard libs delivered from JavaEE5


  | - javaee.jar
  | - jsf-impl.jar
  | - jsf-api.jar
  | - jsf-impl.jar
  | 


The AS has also closed all connections to my underlying Database (MySQL 5) which have been established by MyApplicationDS.
And again: No errors, execeptions or warnings!.


Thanks in advance for your help.

Daniel


View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4229709#4229709

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4229709



More information about the jboss-user mailing list