0 Replies Latest reply on Aug 15, 2009 12:30 PM by ferp

    [OSB 10.3.1] error adding a JMS destination

    ferp
      Hi all,

      I'm migrating my ALSB 3.0 project into OSB 10.3.1. So I've recreated the clustered domain in OSB as I did with ALSB and then ready to run my

      ebAdmin.cmd properties\local\admin.DVE.osb_cluster1.SYS.properties properties\local\admin.DVE.osb_cluster1.APP.properties create-jms-core

      in order to create my JMS resources ... all go find excpet at the end when the script tries to activate the changes:

      --------------------------------------------
      Buildfile: admin.xml

      create-jms-core:

      admin:

      [java] Initializing WebLogic Scripting Tool (WLST) ...
      [java] Welcome to WebLogic Server Administration Scripting Shell
      [java] Type help() for help on available commands

      [java] ===============================================================
      [java] Loading admin properties file from : ./admin.properties
      [java] ===============================================================
      [java] Connecting to t3://localhost:7001 with userid weblogic ...
      [java] Successfully connected to Admin Server 'AdminServer' that belongs to domain 'osb_cluster1'.

      [java] Warning: An insecure protocol was used to connect to the
      [java] server. To ensure on-the-wire security, the SSL port or
      [java] Admin port should be used instead.

      [java] Location changed to domainRuntime tree. This is a read-only tree with DomainMBean as the root.
      [java] For more help, use help(domainRuntime)

      [java] Location changed to edit tree. This is a writable tree with
      [java] DomainMBean as the root. To make changes you will need to start
      [java] an edit session via startEdit().

      [java] For more help, use help(edit)
      [java] You already have an edit session in progress and hence WLST will
      [java] continue with your edit session.

      [java] Starting an edit session ...
      [java] Started edit session, please be sure to save and activate your
      [java] changes once you are done.
      [java] ===============================================================
      [java] Creating JMS core resources
      [java] ===============================================================
      [java] #### found managed: m01
      [java] #### ready to create file store EventBusFileStore_m01
      [java] #### created file store EventBusFileStore_m01

      [java] #### ready to create JMS server EventBusJMSServer_m01
      [java] #### created JMS server EventBusJMSServer_m01

      [java] #### found managed: m02
      [java] #### ready to create file store EventBusFileStore_m02
      [java] #### created file store EventBusFileStore_m02

      [java] #### ready to create JMS server EventBusJMSServer_m02
      [java] #### created JMS server EventBusJMSServer_m02

      [java] #### ready to create JMS module EventBusSystemModule
      [java] #### created JMS module EventBusSystemModule

      [java] #### ready to create connection factory EventBusConnectionFactory
      [java] #### created connection factory EventBusConnectionFactory

      [java] #### ready to create XA connection factory EventBusXAConnectionFactory
      [java] #### created XA connection factory EventBusXAConnectionFactory

      [java] #### ready to create dummyConsumerEventConsumer1OutboundQueue
      [java] #### created dummyConsumerEventConsumer1OutboundQueue

      [java] #### ready to create dummyConsumerEventConsumer1RecoveryOutboundQueue
      [java] #### created dummyConsumerEventConsumer1RecoveryOutboundQueue

      [java] #### ready to set error destination dummyConsumerEventConsumer1RecoveryOutboundQueue for dummyConsumerEventConsumer1OutboundQueue
      [java] #### error destination set successfully for dummyConsumerEventConsumer1OutboundQueue

      ....
      the same for other many Uniform Distributed Queues
      ....

      [java] #### ready to create MonitorTopic
      [java] #### created MonitorTopic

      [java] Saving all your changes ...
      [java] Saved all your changes successfully.
      [java] Activating all your changes, this may take a while ...
      [java] The edit lock associated with this edit session is released
      [java] once the activation is completed.
      [java] This Exception occurred at Sat Aug 15 14:12:14 CEST 2009.

      [java] weblogic.application.ModuleException: ERROR: Unable to add destination EventBusSystemModule!wlsbJMSServer_auto_1@dummyConsumerEventConsumer1OutboundQueue to the back end wlsbJMSServer_auto
      _1
      [java] at weblogic.jms.backend.BEDestinationRuntimeDelegate.prepare(BEDestinationRuntimeDelegate.java:197)
      [java] at weblogic.jms.backend.udd.UDDEntity.prepare(UDDEntity.java:444)
      [java] at weblogic.jms.module.JMSModule$EntityState.setState(JMSModule.java:1704)
      [java] at weblogic.jms.module.JMSModule$EntityState.setState(JMSModule.java:1667)
      [java] at weblogic.jms.module.JMSModule$EntityState.access$100(JMSModule.java:1608)
      [java] at weblogic.jms.module.JMSModule.prepare(JMSModule.java:277)
      [java] at weblogic.jms.module.ModuleCoordinator.prepare(ModuleCoordinator.java:185)
      [java] at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
      [java] at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:387)
      [java] at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
      [java] at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:58)
      [java] at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:42)
      [java] at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:615)
      [java] at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
      [java] at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:191)
      [java] at weblogic.application.internal.SingleModuleDeployment.prepare(SingleModuleDeployment.java:16)
      [java] at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:155)
      [java] at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
      [java] at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:197)
      [java] at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:89)
      [java] at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
      [java] at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:723)
      [java] at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1190)
      [java] at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:248)
      [java] at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
      [java] at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157)
      [java] at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12)
      [java] at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45)
      [java] at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
      [java] at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
      [java] at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
      [java] Caused by: weblogic.jms.common.JMSException: [JMSExceptions:045050]A destination of name EventBusSystemModule!wlsbJMSServer_auto_1@dummyConsumerEventConsumer1OutboundQueue has a jms-create
      -destination-identifier of name EventBusSystemModule!wlsbJMSServer_auto_1@dummyConsumerEventConsumer1OutboundQueue. However, another destination of name EventBusSystemModule!wlsbJMSServer_auto_1@dummy
      ConsumerEventConsumer1OutboundQueue has the same jms-create-destination-identifier. Two destinations with the same jms-create-destination-identifier cannot be co-located on the JMSServer named wlsbJMS
      Server_auto_1.
      [java] at weblogic.jms.backend.BackEnd.addDestination(BackEnd.java:1527)
      [java] at weblogic.jms.backend.BEDestinationRuntimeDelegate.prepare(BEDestinationRuntimeDelegate.java:195)
      [java] ===============================================================
      [java] #### ERROR - unexpected error: main.WLSTException
      [java] ===============================================================
      [java] No stack trace available.
      [java] Edit session is cancelled successfully
      [java] Disconnected from weblogic server: AdminServer
      [java] Unexpected error: main.WLSTException
      [java]
      [java] Problem invoking WLST - Traceback (innermost last):
      [java] File "K:\EventBus\scripts\admin.py", line 910, in ?
      [java] File "K:\EventBus\scripts\admin.py", line 216, in admin
      [java] File "K:\EventBus\scripts\admin.py", line 366, in configJMSCore
      [java] File "K:\EventBus\scripts\admin.py", line 681, in endTransaction
      [java] File "<iostream>", line 364, in activate
      [java] WLSTException: Error occured while performing activate : Error while Activating changes.ERROR: Unable to add destination EventBusSystemModule!wlsbJMSServer_auto_1@dummyConsumerEventConsume
      r1OutboundQueue to the back end wlsbJMSServer_auto_1 Use dumpStack() to view the full stacktrace


      what I don't understand is the fact that my EventBusSystemModule in some way references wlsbJMSServer_auto_1 (not created by my script but this JMS server is already available in OSB).
      I run successfully the above script againt ALSB 3.0 but now with OSB something goes wrong.

      As you see from above output, the script:

      - create file store EventBusFileStore_m01 (m01 is the m01 managed server in the cluster)
      - create JMS server EventBusJMSServer_m01
      - create file store EventBusFileStore_m02
      - create JMS server EventBusJMSServer_m02
      - created JMS module EventBusSystemModule

      from py point of view the code is:

      def createJMSModule(jmsModuleName, cluster):
      print '#### ready to create JMS module ' + jmsModuleName
      cd('/')
      jmsModule = cmo.createJMSSystemResource(jmsModuleName)
      cd('/JMSSystemResources/' + jmsModuleName)
      set('Targets',jarray.array([ObjectName('com.bea:Name=' + cluster + ',Type=Cluster')], ObjectName))

      print '#### created JMS module ' + jmsModuleName
      print

      about the creation of the UDQ

      def createUniformDistributedQueue(destinationName, jndiDestination, jmsModuleName):
      print '#### ready to create ' + destinationName
      path = '/JMSSystemResources/' + jmsModuleName + '/JMSResource/' + jmsModuleName

      try:
      cd(path)
      except WLSTException,e:
      failed = 'Check if create-jms-core task has been already executed'
      raise Failure(failed)

      cmo.createUniformDistributedQueue(destinationName)
      cd('/JMSSystemResources/' + jmsModuleName + '/JMSResource/' + jmsModuleName + '/UniformDistributedQueues/' + destinationName)
      cmo.setJNDIName(jndiDestination)
      cmo.setLoadBalancingPolicy('Round-Robin')
      cmo.setDefaultTargetingEnabled(true)

      print '#### created ' + destinationName
      print

      I'm trying to understand where is the problem ....

      Thanks in advance
      ferp