java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[weblogic, Administrators]

Spring JIRA | John Baker | 9 years ago
  1. 0

    Weblogic has a strange 'feature' where by an InitialContext created in one thread can not be used in another when security credentials have been provided. I personally think this design is a little silly, but BEA are unlikely to listen. The default message listener container does not recover a connection when it's failed, and the exception suggests it's due to this 'feature'. Here is the exception: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[eventfetcher] at weblogic.rjvm.ResponseImpl.unmarshalReturn( at weblogic.rmi.cluster.ClusterableRemoteRef.invoke( at weblogic.rmi.cluster.ClusterableRemoteRef.invoke( at weblogic.jndi.internal.ServerNamingNode_921_WLStub.lookup(Unknown Source) at weblogic.jndi.internal.WLContextImpl.lookup( at weblogic.jndi.internal.WLContextImpl.lookup( at weblogic.rmi.cluster.BasicReplicaHandler.refreshReplicaList( at weblogic.rmi.cluster.BasicReplicaHandler.failOver( at weblogic.rmi.cluster.ClusterableRemoteRef.invoke( at weblogic.jms.frontend.FEConnectionFactoryImpl_922_WLStub.connectionCreateRequest(Unknown Source) at weblogic.jms.client.JMSConnectionFactory.setupJMSConnection( at weblogic.jms.client.JMSConnectionFactory.createConnectionInternal( at weblogic.jms.client.JMSConnectionFactory.createConnection( at at org.springframework.jms.listener.AbstractJmsListeningContainer.createSharedConnection(AbstractJmsListeningContaine at com.db.websso.jms.WeblogicMessageListenerContainer.createSharedConnection( ) at org.springframework.jms.listener.AbstractJmsListeningContainer.refreshSharedConnection(AbstractJmsListeningContain at org.springframework.jms.listener.DefaultMessageListenerContainer.refreshConnectionUntilSuccessful(DefaultMessageLi at org.springframework.jms.listener.DefaultMessageListenerContainer.recoverAfterListenerSetupFailure(DefaultMessageLi at org.springframework.jms.listener.DefaultMessageListenerContainer$ I had implemented a hack to partly solve the problem by extending the listener, but it's not completely effective. The result is that some threads seem to recover, while others continue to fail (and I can not currently explain why, given my hack re-creates the JNDI in the current thread!). Here's the hack: protected Connection createSharedConnection() throws JMSException { // Associate JNDI variables (user and password) with this thread for the benefit // of the WL drivers. try { InitialContext ic = new InitialContext(jndiTemplate.getEnvironment()); } catch (NamingException e) { logger.warn(e.getMessage()); } return super.createSharedConnection(); } It's not very nice and it would be better to find a long term decent solution to this problem. Until a solution is in place, this object (and other JMS functionality, such as multiple threads and the JmsTemplate) will fail to work correctly with Weblogic. I'm happy to test possible solutions if someone with indepth experience of the Spring JMS code can put forward suggestions. Thanks, John

    Spring JIRA | 9 years ago | John Baker
    java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[weblogic, Administrators]
  2. 0

    db:: 3.17::javax.jms.InvalidDestinationException: Invalid destination 18 | 7 months ago
    java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[weblogic, Administrators]
  3. 0

    db:: 3.20::WL custom trust store for outbound RMI (over SSL) aj | 5 months ago
    java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[weblogic, Administrators]
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    SOA 11g/WL 10x JMS JmsConnectionFactory remote JMS connection error

    Oracle Community | 7 years ago | coolpie72
    java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[weblogic, Administrators]

    5 unregistered visitors
    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. java.lang.SecurityException

      [Security:090398]Invalid Subject: principals=[weblogic, Administrators]

      2 frames
    3. weblogic.rjvm
      1. weblogic.rjvm.MsgAbbrevInputStream.getSubject(
      1 frame
    4. weblogic.messaging.dispatcher
      1. weblogic.messaging.dispatcher.DispatcherServerRef.handleRequest(
      2. weblogic.messaging.dispatcher.DispatcherServerRef.access$000(
      2 frames