1 JMS Server [3 Queues] OR 3 JMS Servers [1 Q each]

          Hi
          I am still debating myself which configuration is better purely from performance
          perspective whether to have multiple queues hosted my the same JMS server or give
          one JMS server per Queue. Just wondering if someone can throw some light on this
          as I dont see this thing addressed in the JMS performance guide - is it because
          it dosent make any difference?
          I am trying to figure out if in the first setup since all queues will use the
          same store they will end up using a where clause to get data from the Queue and
          in the 2nd case it will be like select * without a where clause? In that case
          the 2nd config will give better performance. I am using file store.
          Its likely that in my configuration one of the Queues is going to be pounded big
          time whereas the other 2 queues message volume will be significantly low.
          Any thoughts/pointers is appreciated.
          thanks
          Anamitra
          

Internally, the JDBC store does simple
          inserts/deletes/single-record-selects -
          it has notion of destinations.
          I'm fairly sure that the JMS Performance Guide does cover this topic,
          but I don't have time to comb through it. Anyhow, with DB stores
          I think it is likely you will get better performace by using
          multiple stores - provided the introduction of multiple
          stores doesn't start forcing too many transactions to become
          two-phase that were one-phase before. Each store
          counts as an XA resource, so two stores in the same
          transaction forces a 2PC transaction.
          (With file stores one might get worse performance.)
          Tom
          Anamitra wrote:
          > Hi
          > I am still debating myself which configuration is better purely from performance
          > perspective whether to have multiple queues hosted my the same JMS server or give
          > one JMS server per Queue. Just wondering if someone can throw some light on this
          > as I dont see this thing addressed in the JMS performance guide - is it because
          > it dosent make any difference?
          >
          > I am trying to figure out if in the first setup since all queues will use the
          > same store they will end up using a where clause to get data from the Queue and
          > in the 2nd case it will be like select * without a where clause? In that case
          > the 2nd config will give better performance. I am using file store.
          SQL has nothing to do with file stores, so I don't understand
          the question. Anyhow, I happen to
          know that no JDBC store SQL references queues - messages
          are handled individually regardless of queue
          or topic.
          >
          > Its likely that in my configuration one of the Queues is going to be pounded big
          > time whereas the other 2 queues message volume will be significantly low.
          I think there is little point in seperating into seperate stores unless
          all stores would be very active.
          Anyhow, this is all simple enough to test on your own as it
          only involves configuration changes. I highly
          recommend trying it out.
          >
          > Any thoughts/pointers is appreciated.
          > thanks
          > Anamitra
          

Similar Messages

  • JNDI Names of JMS server's queue not replicating to cluster

              Am having some trouble configuring a JMS Server and Queues in a clustered development
              environment. It is a simple cluster of 2 servers (Server1 and Server2) both on
              a single machine.
              The "JobServer" JMS Server is targeted to "Server1 (migratable)". All the JNDI
              names for the Queues appear in the JNDI tree of Server1, but not in Server2.
              When the sending of a message is attempted on Server2, the following occurs:
              javax.naming.NameNotFoundException: While trying to lookup 'jms.STARSIIPostQueue'
              didn't find subcontext 'jms' Resolved ; remaining name 'jms/STARSIIPostQueue'
              at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:858)
              This may be a problem with the cluster configuration, but I haven't been able
              to see anything wrong with it.
              Any and all help will be appreciated.
              There is the Config.xml file:
              <?xml version="1.0" encoding="UTF-8"?>
              <Domain ConfigurationVersion="8.1.2.0" Name="mydomain">
              <Server ExtraEjbcOptions="-J-mx512m" ListenAddress=""
              ListenPort="7001" Name="myserver" NativeIOEnabled="true"
              ServerVersion="8.1.2.0" StdoutDebugEnabled="true" StdoutSeverityLevel="64">
              <SSL Enabled="false" HostnameVerificationIgnored="false"
              IdentityAndTrustLocations="KeyStores" ListenPort="7002" Name="myserver"/>
              <Log Name="myserver" NumberOfFilesLimited="true"/>
              </Server>
              <Security Name="mydomain"
              PasswordPolicy="wl_default_password_policy"
              Realm="wl_default_realm" RealmSetup="true">
              <weblogic.security.providers.authentication.DefaultAuthenticator
              Name="Security:Name=myrealmDefaultAuthenticator" Realm="Security:Name=myrealm"/>
              <weblogic.security.providers.authentication.DefaultIdentityAsserter
              ActiveTypes="AuthenticatedUser"
              Name="Security:Name=myrealmDefaultIdentityAsserter" Realm="Security:Name=myrealm"/>
              <weblogic.security.providers.authorization.DefaultRoleMapper
              Name="Security:Name=myrealmDefaultRoleMapper" Realm="Security:Name=myrealm"/>
              <weblogic.security.providers.authorization.DefaultAuthorizer
              Name="Security:Name=myrealmDefaultAuthorizer" Realm="Security:Name=myrealm"/>
              <weblogic.security.providers.authorization.DefaultAdjudicator
              Name="Security:Name=myrealmDefaultAdjudicator"
              Realm="Security:Name=myrealm" RequireUnanimousPermit="false"/>
              <weblogic.security.providers.credentials.DefaultCredentialMapper
              Name="Security:Name=myrealmDefaultCredentialMapper" Realm="Security:Name=myrealm"/>
              <weblogic.management.security.authentication.UserLockoutManager
              Name="Security:Name=myrealmUserLockoutManager" Realm="Security:Name=myrealm"/>
              <weblogic.management.security.Realm
              Adjudicator="Security:Name=myrealmDefaultAdjudicator"
              Auditors="Security:Name=myrealmSTARSIIAuditor"
              AuthenticationProviders="Security:Name=myrealmSTARSIIAuthenticator|Security:Name=myrealmDefaultAuthenticator|Security:Name=myrealmDefaultIdentityAsserter"
              Authorizers="Security:Name=myrealmDefaultAuthorizer|Security:Name=myrealmSTARSIIAuthorizer"
              CredentialMappers="Security:Name=myrealmDefaultCredentialMapper"
              DefaultRealm="true" DisplayName="myrealm"
              FullyDelegateAuthorization="true"
              Name="Security:Name=myrealm"
              RoleMappers="Security:Name=myrealmDefaultRoleMapper" UserLockoutManager="Security:Name=myrealmUserLockoutManager"/>
              <gov.fns.starsii.common.security.authentication.STARSIIAuthenticator
              ControlFlag="SUFFICIENT"
              Name="Security:Name=myrealmSTARSIIAuthenticator" Realm="Security:Name=myrealm"/>
              <gov.fns.starsii.common.security.authorization.STARSIIAuthorizer
              ExemptUri="/common/,/images/,/warning.do,/login.do"
              Name="Security:Name=myrealmSTARSIIAuthorizer"
              PolicyDeploymentEnabled="false"
              Realm="Security:Name=myrealm" Verbose="false" denyPermNotFound="true"/>
              <gov.fns.starsii.common.security.audit.STARSIIAuditor
              Name="Security:Name=myrealmSTARSIIAuditor" Realm="Security:Name=myrealm"/>
              </Security>
              <EmbeddedLDAP
              Credential="{3DES}aD+gV9rRggnoShH/kWurILaHTBP/z0jVoZHtp/hU1xI=" Name="mydomain"/>
              <SecurityConfiguration
              Credential="{3DES}mhxP4PeuUHmoX6Aggpj5SNB+AX16Gaol8dOfUzXu7xM8CFNASyNdYIOoqtlqPAZvfZgB14KBtY8MkdKGu/iWFq1xQ07walY8"
              Name="mydomain" RealmBootStrapVersion="1"/>
              <Realm FileRealm="wl_default_file_realm" Name="wl_default_realm"/>
              <FileRealm Name="wl_default_file_realm"/>
              <PasswordPolicy Name="wl_default_password_policy"/>
              <JDBCConnectionPool
              DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"
              Name="STARSII BRSB Pool"
              Password="{3DES}9pslRpr051lR9/NEKdanag=="
              Properties="user=brsbapp;portNumber=1433;databaseName=brsbdev;serverName=str2-dev-db"
              Targets="" TestTableName="SQL SELECT COUNT(*) FROM sysobjects" URL="jdbc:bea:sqlserver://str2-dev-db:1433"/>
              <JDBCTxDataSource JNDIName="jdbc/StarsIIDS" Name="StarsIIDS"
              PoolName="STARSII Store Pool" Targets="MyCluster"/>
              <JDBCTxDataSource JNDIName="jdbc/TXStarsIIDS" Name="TXStarsIIDS"
              PoolName="STARSII Store Pool" Targets="MyCluster"/>
              <!--StartupClass
              ClassName="gov.fns.starsii.common.common.PropertiesFileLoader"
              DeploymentOrder="250" Name="STARS II Properties Startup Class" Targets="myserver,MyCluster"/>
              <StartupClass
              ClassName="gov.fns.starsii.common.common.ReferenceValuesHelper"
              DeploymentOrder="500"
              Name="STARS II Reference Values Startup Class" Targets="myserver,MyCluster"/>
              <StartupClass
              ClassName="gov.fns.starsii.common.common.ReportCriteriaHelper"
              DeploymentOrder="750"
              Name="STARS II Reports Criteria Startup Class" Targets="myserver,MyCluster"/
              -->
              <MailSession JNDIName="mail/STARSIIMailSession"
              Name="STARSIIMailSession" Properties="mail.host=str2-dev-prj" Targets="myserver"/>
              <JDBCConnectionPool
              DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"
              Name="STARSII Store Pool"
              Password="{3DES}nKggeFT8wZkm0R9H8mXaEQ=="
              Properties="user=storeapp;portNumber=1433;databaseName=storedev;serverName=str2-dev-db"
              Targets="MyCluster"
              TestTableName="SQL SELECT COUNT(*) FROM sysobjects" URL="jdbc:bea:sqlserver://str2-dev-db:1433"/>
              <JDBCConnectionPool
              DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"
              Name="AffTest" Password=""
              Properties="user=sa;portNumber=1433;databaseName=affTest;serverName=AFRANK\AFRANK"
              Targets="" TestTableName="SQL SELECT COUNT(*) FROM sysobjects" URL="jdbc:bea:sqlserver://AFRANK\AFRANK:1433"/>
              <JDBCTxDataSource JNDIName="jdbc/AffTest" Name="AffTest"
              PoolName="AffTest" Targets=""/>
              <JDBCConnectionPool DriverName="weblogic.jdbcspy.SpyDriver"
              Name="Spy STARSII BRSB Pool"
              Password="{3DES}9pslRpr051lR9/NEKdanag=="
              Properties="user=brsbapp;portNumber=1433;databaseName=brsbdev;serverName=str2-dev-db"
              Targets="" TestTableName="SQL SELECT COUNT(*) FROM sysobjects" URL="jdbc:spy:{jdbc:bea:sqlserver://str2-dev-db:1433};log=(file)C:\cvsrepo\sql.log"/>
              <JDBCConnectionPool
              DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"
              Name="STARSII Store Pool 2"
              Password="{3DES}nKggeFT8wZkm0R9H8mXaEQ=="
              Properties="user=storeapp;portNumber=1433;databaseName=storedev;serverName=str2-dev-db"
              Targets="" TestTableName="SQL SELECT COUNT(*) FROM sysobjects" URL="jdbc:bea:sqlserver://str2-dev-db:1433"/>
              <JDBCTxDataSource JNDIName="jdbc/StarsIIDS2" Name="StarsIIDS2"
              PoolName="STARSII Store Pool" Targets=""/>
              <JDBCConnectionPool
              DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"
              Name="STARSII Stars Pool"
              Password="{3DES}tjstL+8fUvdPQzqhNcCYGA=="
              Properties="user=starsapp;portNumber=1433;databaseName=stars;serverName=str2-dev-db"
              Targets="MyCluster"
              TestTableName="SQL SELECT COUNT(*) FROM sysobjects" URL="jdbc:bea:sqlserver://str2-dev-db:1433"/>
              <Machine Name="MachineA">
              <NodeManager DebugEnabled="true" ListenPort="5555" Name="MachineA"/>
              </Machine>
              <Server Cluster="MyCluster" ExpectedToRun="false"
              ExtraEjbcOptions="-J-mx521m" JDBCLoggingEnabled="true"
              ListenAddress="10.0.0.14" ListenPort="7002" Machine="MachineA"
              Name="Server1" ServerVersion="8.1.2.0" StdoutDebugEnabled="true" StdoutSeverityLevel="64">
              <ServerDebug Name="Server1"/>
              <SSL IdentityAndTrustLocations="KeyStores" Name="Server1"/>
              <KernelDebug Name="Server1"/>
              <Log Name="Server1"/>
              <ServerStart Name="Server1"
              OutputFile="C:\bea\user_projects\domains\mydomain\.\NodeManagerClientLogs\mydomain_Server1\startServer_05_05_2004-12_50_56-4.log"
              Password="{3DES}js4NnTcuqRE15gEGfNTu4Q==" Username="system"/>
              <WebServer Name="Server1"/>
              <COM Name="Server1"/>
              <IIOP Name="Server1"/>
              <JTAMigratableTarget Name="Server1" UserPreferredServer="Server1"/>
              <JTARecoveryService Name="Server1"/>
              </Server>
              <Cluster ClusterAddress="10.0.0.14, 10.0.2.15"
              MulticastAddress="226.0.0.244" Name="MyCluster"/>
              <Server Cluster="MyCluster" ExpectedToRun="false"
              ExtraEjbcOptions="-J-mx521m" ListenAddress="10.0.2.15"
              ListenPort="7002" Machine="MachineB" Name="Server2"
              ServerVersion="8.1.2.0" StdoutDebugEnabled="true" StdoutSeverityLevel="64">
              <ServerDebug Name="Server2"/>
              <SSL IdentityAndTrustLocations="KeyStores" Name="Server2"/>
              <KernelDebug Name="Server2"/>
              <Log Name="Server2"/>
              <ServerStart Name="Server2"
              Password="{3DES}js4NnTcuqRE15gEGfNTu4Q==" Username="system"/>
              <WebServer Name="Server2"/>
              <COM Name="Server2"/>
              <IIOP Name="Server2"/>
              <JTAMigratableTarget Name="Server2" UserPreferredServer="Server2"/>
              <JTARecoveryService Name="Server2"/>
              </Server>
              <MigratableTarget Cluster="MyCluster" Name="Server1 (migratable)"
              Notes="This is a system generated default migratable target for a server.
              Do not delete manually." UserPreferredServer="Server1"/>
              <MigratableTarget Cluster="MyCluster" Name="Server2 (migratable)"
              Notes="This is a system generated default migratable target for a server.
              Do not delete manually." UserPreferredServer="Server2"/>
              <Application Deployed="true" Name="STARSII"
              Path="C:\cvsrepo\STARSII\STARSII" StagingMode="nostage" TwoPhase="true">
              <EJBComponent Name="../brsbMessage" Targets="MyCluster" URI="../brsbMessage"/>
              <EJBComponent Name="../brsbSession" Targets="MyCluster" URI="../brsbSession"/>
              <EJBComponent Name="../commonSession" Targets="MyCluster" URI="../commonSession"/>
              <EJBComponent Name="../complianceMessage" Targets="MyCluster" URI="../complianceMessage"/>
              <EJBComponent Name="../complianceSession" Targets="MyCluster" URI="../complianceSession"/>
              <EJBComponent Name="../starsiiEntity" Targets="MyCluster" URI="../starsiiEntity"/>
              <EJBComponent Name="../storeSession" Targets="MyCluster" URI="../storeSession"/>
              <WebAppComponent Name="/brsb" Targets="MyCluster" URI="../brsbWebApp"/>
              <WebAppComponent Name="/compliance" Targets="MyCluster" URI="../complianceWebApp"/>
              <WebAppComponent Name="/common" Targets="MyCluster" URI="../mainWebApp"/>
              <WebAppComponent Name="/store" Targets="MyCluster" URI="../storeWebApp"/>
              </Application>
              <Application Name="AffWebApp" Path="C:\cvsrepo\STARSII"
              StagingMode="nostage" TwoPhase="true">
              <WebAppComponent Name="AffWebApp" Targets="" URI="AffWebApp"/>
              </Application>
              <Application Name="activeportal"
              Path="C:\bea\user_projects\domains\mydomain\myserver\upload"
              StagingMode="nostage" TwoPhase="true">
              <WebAppComponent Name="activeportal" Targets="" URI="activeportal.war"/>
              </Application>
              <JTA Name="mydomain" TimeoutSeconds="300"/>
              <JMSServer Name="JobServer" Targets="Server1 (migratable)">
              <JMSQueue CreationTime="1072820642598"
              JNDIName="jms/STARSIIJobQueue" Name="STARSIIJobQueue"/>
              <JMSQueue CreationTime="1072820669345"
              JNDIName="jms/STARSIIPostQueue" Name="STARSIIPostQueue"/>
              <JMSQueue CreationTime="1088000795852"
              JNDIName="jms/STARSIIValidationQueue" Name="STARSIIValidationQueue"/>
              <JMSQueue CreationTime="1072820687125"
              JNDIName="jms/STARSIIErrorQueue" Name="STARSIIErrorQueue"/>
              <JMSQueue CreationTime="1072820687125"
              JNDIName="jms/STARSIIEmailQueue" Name="STARSIIEmailQueue"/>
              <JMSQueue CreationTime="1072820687225"
              JNDIName="jms/STARSIIEBTStateQueue" Name="STARSIIEBTStateQueue"/>
              <JMSQueue CreationTime="1072820687325"
              JNDIName="jms/STARSIIRFIQueue" Name="STARSIIRFIQueue"/>
              <JMSQueue CreationTime="1072820687425"
              JNDIName="jms/STARSIIRedeQueue" Name="STARSIIRedeQueue"/>
              <JMSQueue CreationTime="1072820687525"
              JNDIName="jms/STARSIIWatchListQueue" Name="STARIIWatchListQueue"/>
              <JMSQueue CreationTime="1072820687625"
              JNDIName="jms/STARSIIDeleteTransFileQueue" Name="STARSIIDeleteTransFileQueue"/>
              <JMSQueue CreationTime="1072820687725"
              JNDIName="jms/STARSIIUpdateAMRQueue" Name="STARSIIUpdateAMRQueue"/>
              <JMSQueue CreationTime="1072820687825"
              JNDIName="jms/STARSIIVPPExtractQueue" Name="STARSIIVPPExtractQueue"/>
              <JMSQueue CreationTime="1072820687925"
              JNDIName="jms/STARSIISIFSUploadQueue" Name="STARSIISIFSUploadQueue"/>
              <JMSQueue CreationTime="1072820688025"
              JNDIName="jms/STARSIIMARSQueue" Name="STARSIIMARSQueue"/>
              <JMSQueue CreationTime="1072820688125"
              JNDIName="jms/STARSIIFRBRichmondExtractQueue" Name="STARSIIFRBRichmondExtractQueue"/>
              <JMSQueue CreationTime="1072820688225"
              JNDIName="jms/STARSIICOTSExtractQueue" Name="STARSIICOTSExtractQueue"/>
              <JMSQueue CreationTime="1072820688325"
              JNDIName="jms/STARSIIVPPUploadQueue" Name="STARSIIVPPUploadQueue"/>
              </JMSServer>
              <Machine Name="MachineB">
              <NodeManager DebugEnabled="true" Name="MachineB"/>
              </Machine>
              </Domain>
              

    Internally, many BEA developers and testers use various versions
              of XP with clustering on a daily basis. I don't know what
              is unique about your machine. I suggest raising the issue
              with customer support and/or posting to the clustering newsgroup...
              Andy Frank wrote:
              > It would seems that my OS and the MultiCast config are to blame. The MultiCast
              > test utility worked fine the Win2K machines I tried. Think I will take another
              > look at MS KB article 827536 and/or think about another dev OS.
              >
              > "Andy Frank" <[email protected]> wrote:
              >
              >>Tom,
              >>Thanks for this info.
              >>
              >>My servers don't look like they are running in different subnets (had
              >>a friend
              >>look this over and he concurs).
              >>
              >>My network admin says he hasn't blocked multicast traffic.
              >>
              >>I think the MultiCast test utility is telling me that I have some kind
              >>of multicast
              >>config problem. Output follows:
              >>
              >>------ Begin MultiCast test utility output: ------
              >>C:\bea\weblogic81\server\bin>java utils.MulticastTest -N server200 -A
              >>237.155.15
              >>5.1 -t 15
              >>***** WARNING ***** WARNING ***** WARNING *****
              >>Do NOT use the same multicast address as a running WLS cluster.
              >>
              >>
              >>Starting test. Hit any key to abort
              >>
              >>
              >>Using multicast address 237.155.155.1:7001
              >>Will send messages under the name server200 every 2 seconds
              >>Will print warning every 15 seconds if no messages are received
              >>
              >> I (server200) sent message num 1
              >> I (server200) sent message num 2
              >> I (server200) sent message num 3
              >> I (server200) sent message num 4
              >> I (server200) sent message num 5
              >> I (server200) sent message num 6
              >> I (server200) sent message num 7
              >>java.net.SocketTimeoutException: Receive timed out
              >> at java.net.PlainDatagramSocketImpl.receive(Native Method)
              >> at java.net.DatagramSocket.receive(DatagramSocket.java:680)
              >> at utils.MulticastTest$Receiver.run(MulticastTest.java:304)
              >> I (server200) sent message num 8
              >> I (server200) sent message num 9
              >> I (server200) sent message num 10
              >> I (server200) sent message num 11
              >> I (server200) sent message num 12
              >>------ End MultiCast test utility output: ------
              >>
              >>No "Received message X from server200" messages. I think I need to look
              >>into
              >>configuring multicast communications on my OK (Windows XP Pro, ver 2002
              >>SP1).
              >>I did see MS KB article 827536 about "An IP multicast may not be sent
              >>correctly
              >
              >>from Windows XP or from Windows Server 2003" (I do have 2 network adapters),
              >
              >>but
              >>the resolution scared me some.
              >>
              >>Think I will try some things out on another OS and see what that gets
              >>me.
              >>
              >>Any other thoughts on this will be appreciated.
              >>
              >>
              >>Tom Barnes wrote:
              >>
              >>>I too suspect something is going wrong with clustering, I wonder
              >>>if the servers are running in different subnets (even though
              >>>they are on the same box) and/or your network admin has
              >>>blocked multicast traffic.
              >>>
              >>>The MultiCast test utility should help narrow things down:
              >>>
              >>>http://e-docs.bea.com/wls/docs81/admin_ref/utils.html#1199798
              >>>
              >>>Tom
              >>>
              >>>Andy Frank wrote:
              >>>
              >>>
              >>>>Am having some trouble configuring a JMS Server and Queues in a clustered
              >>>
              >>>development
              >>>
              >>>>environment. It is a simple cluster of 2 servers (Server1 and Server2)
              >>>
              >>>both on
              >>>
              >>>>a single machine.
              >>>>
              >>>>The "JobServer" JMS Server is targeted to "Server1 (migratable)".
              >>
              >>>All the JNDI
              >>>
              >>>>names for the Queues appear in the JNDI tree of Server1, but not in
              >>>
              >>>Server2.
              >>>
              >>>>When the sending of a message is attempted on Server2, the following
              >>>
              >>>occurs:
              >>>
              >>>>javax.naming.NameNotFoundException: While trying to lookup 'jms.STARSIIPostQueue'
              >>>>didn't find subcontext 'jms' Resolved ; remaining name 'jms/STARSIIPostQueue'
              >>>> at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:858)
              >>>>
              >>>>This may be a problem with the cluster configuration, but I haven't
              >>>
              >>>been able
              >>>
              >>>>to see anything wrong with it.
              >>>>
              >>>>Any and all help will be appreciated.
              >>>>
              >>>>There is the Config.xml file:
              >>>><?xml version="1.0" encoding="UTF-8"?>
              >>>><Domain ConfigurationVersion="8.1.2.0" Name="mydomain">
              >>>> <Server ExtraEjbcOptions="-J-mx512m" ListenAddress=""
              >>>> ListenPort="7001" Name="myserver" NativeIOEnabled="true"
              >>>> ServerVersion="8.1.2.0" StdoutDebugEnabled="true" StdoutSeverityLevel="64">
              >>>> <SSL Enabled="false" HostnameVerificationIgnored="false"
              >>>> IdentityAndTrustLocations="KeyStores" ListenPort="7002"
              >>>
              >>>Name="myserver"/>
              >>>
              >>>> <Log Name="myserver" NumberOfFilesLimited="true"/>
              >>>> </Server>
              >>>> <Security Name="mydomain"
              >>>> PasswordPolicy="wl_default_password_policy"
              >>>> Realm="wl_default_realm" RealmSetup="true">
              >>>> <weblogic.security.providers.authentication.DefaultAuthenticator
              >>>> Name="Security:Name=myrealmDefaultAuthenticator" Realm="Security:Name=myrealm"/>
              >>>>
              >>>> <weblogic.security.providers.authentication.DefaultIdentityAsserter
              >>>> ActiveTypes="AuthenticatedUser"
              >>>> Name="Security:Name=myrealmDefaultIdentityAsserter" Realm="Security:Name=myrealm"/>
              >>>> <weblogic.security.providers.authorization.DefaultRoleMapper
              >>>> Name="Security:Name=myrealmDefaultRoleMapper" Realm="Security:Name=myrealm"/>
              >>>> <weblogic.security.providers.authorization.DefaultAuthorizer
              >>>> Name="Security:Name=myrealmDefaultAuthorizer" Realm="Security:Name=myrealm"/>
              >>>> <weblogic.security.providers.authorization.DefaultAdjudicator
              >>>> Name="Security:Name=myrealmDefaultAdjudicator"
              >>>> Realm="Security:Name=myrealm" RequireUnanimousPermit="false"/>
              >>>> <weblogic.security.providers.credentials.DefaultCredentialMapper
              >>>> Name="Security:Name=myrealmDefaultCredentialMapper" Realm="Security:Name=myrealm"/>
              >>>> <weblogic.management.security.authentication.UserLockoutManager
              >>>> Name="Security:Name=myrealmUserLockoutManager" Realm="Security:Name=myrealm"/>
              >>>> <weblogic.management.security.Realm
              >>>> Adjudicator="Security:Name=myrealmDefaultAdjudicator"
              >>>> Auditors="Security:Name=myrealmSTARSIIAuditor"
              >>>> AuthenticationProviders="Security:Name=myrealmSTARSIIAuthenticator|Security:Name=myrealmDefaultAuthenticator|Security:Name=myrealmDefaultIdentityAsserter"
              >>>> Authorizers="Security:Name=myrealmDefaultAuthorizer|Security:Name=myrealmSTARSIIAuthorizer"
              >>>> CredentialMappers="Security:Name=myrealmDefaultCredentialMapper"
              >>>> DefaultRealm="true" DisplayName="myrealm"
              >>>> FullyDelegateAuthorization="true"
              >>>> Name="Security:Name=myrealm"
              >>>> RoleMappers="Security:Name=myrealmDefaultRoleMapper" UserLockoutManager="Security:Name=myrealmUserLockoutManager"/>
              >>>>
              >>>> <gov.fns.starsii.common.security.authentication.STARSIIAuthenticator
              >>>> ControlFlag="SUFFICIENT"
              >>>> Name="Security:Name=myrealmSTARSIIAuthenticator" Realm="Security:Name=myrealm"/>
              >>>> <gov.fns.starsii.common.security.authorization.STARSIIAuthorizer
              >>>> ExemptUri="/common/,/images/,/warning.do,/login.do"
              >>>> Name="Security:Name=myrealmSTARSIIAuthorizer"
              >>>> PolicyDeploymentEnabled="false"
              >>>> Realm="Security:Name=myrealm" Verbose="false" denyPermNotFound="true"/>
              >>>> <gov.fns.starsii.common.security.audit.STARSIIAuditor
              >>>> Name="Security:Name=myrealmSTARSIIAuditor" Realm="Security:Name=myrealm"/>
              >>>> </Security>
              >>>> <EmbeddedLDAP
              >>>> Credential="{3DES}aD+gV9rRggnoShH/kWurILaHTBP/z0jVoZHtp/hU1xI="
              >>>
              >>>Name="mydomain"/>
              >>>
              >>>> <SecurityConfiguration
              >>>> Credential="{3DES}mhxP4PeuUHmoX6Aggpj5SNB+AX16Gaol8dOfUzXu7xM8CFNASyNdYIOoqtlqPAZvfZgB14KBtY8MkdKGu/iWFq1xQ07walY8"
              >>>> Name="mydomain" RealmBootStrapVersion="1"/>
              >>>> <Realm FileRealm="wl_default_file_realm" Name="wl_default_realm"/>
              >>>> <FileRealm Name="wl_default_file_realm"/>
              >>>> <PasswordPolicy Name="wl_default_password_policy"/>
              >>>> <JDBCConnectionPool
              >>>> DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"
              >>>> Name="STARSII BRSB Pool"
              >>>> Password="{3DES}9pslRpr051lR9/NEKdanag=="
              >>>> Properties="user=brsbapp;portNumber=1433;databaseName=brsbdev;serverName=str2-dev-db"
              >>>> Targets="" TestTableName="SQL SELECT COUNT(*) FROM sysobjects"
              >>>
              >>>URL="jdbc:bea:sqlserver://str2-dev-db:1433"/>
              >>>
              >>>> <JDBCTxDataSource JNDIName="jdbc/StarsIIDS" Name="StarsIIDS"
              >>>> PoolName="STARSII Store Pool" Targets="MyCluster"/>
              >>>> <JDBCTxDataSource JNDIName="jdbc/TXStarsIIDS" Name="TXStarsIIDS"
              >>>> PoolName="STARSII Store Pool" Targets="MyCluster"/>
              >>>> <!--StartupClass
              >>>> ClassName="gov.fns.starsii.common.common.PropertiesFileLoader"
              >>>> DeploymentOrder="250" Name="STARS II Properties Startup Class"
              >>>
              >>>Targets="myserver,MyCluster"/>
              >>>
              >>>> <StartupClass
              >>>> ClassName="gov.fns.starsii.common.common.ReferenceValuesHelper"
              >>>> DeploymentOrder="500"
              >>>> Name="STARS II Reference Values Startup Class" Targets="myserver,MyCluster"/>
              >>>> <StartupClass
              >>>> ClassName="gov.fns.starsii.common.common.ReportCriteriaHelper"
              >>>> DeploymentOrder="750"
              >>>> Name="STARS II Reports Criteria Startup Class" Targets="myserver,MyCluster"/
              >>>>-->
              >>>> <MailSession JNDIName="mail/STARSIIMailSession"
              >>>> Name="STARSIIMailSession" Properties="mail.host=str2-dev-prj"
              >>>
              >>>Targets="myserver"/>
              >>>
              >>>> <JDBCConnectionPool
              >>>> DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"
              >>>> Name="STARSII Store Pool"
              >>>> Password="{3DES}nKggeFT8wZkm0R9H8mXaEQ=="
              >>>> Properties="user=storeapp;portNumber=1433;databaseName=storedev;serverName=str2-dev-db"
              >>>> Targets="MyCluster"
              >>>> TestTableName="SQL SELECT COUNT(*) FROM sysobjects" URL="jdbc:bea:sqlserver://str2-dev-db:1433"/>
              >>>> <JDBCConnectionPool
              >>>> DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"
              >>>> Name="AffTest" Password=""
              >>>> Properties="user=sa;portNumber=1433;databaseName=affTest;serverName=AFRANK\AFRANK"
              >>>> Targets="" TestTableName="SQL SELECT COUNT(*) FROM sysobjects"
              >>>
              >>>URL="jdbc:bea:sqlserver://AFRANK\AFRANK:1433"/>
              >>>
              >>>> <JDBCTxDataSource JNDIName="jdbc/AffTest" Name="AffTest"
              >>>> PoolName="AffTest" Targets=""/>
              >>>> <JDBCConnectionPool DriverName="weblogic.jdbcspy.SpyDriver"
              >>>> Name="Spy STARSII BRSB Pool"
              >>>> Password="{3DES}9pslRpr051lR9/NEKdanag=="
              >>>> Properties="user=brsbapp;portNumber=1433;databaseName=brsbdev;serverName=str2-dev-db"
              >>>> Targets="" TestTableName="SQL SELECT COUNT(*) FROM sysobjects"
              >>>
              >>>URL="jdbc:spy:{jdbc:bea:sqlserver://str2-dev-db:1433};log=(file)C:\cvsrepo\sql.log"/>
              >>>
              >>>> <JDBCConnectionPool
              >>>> DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"
              >>>> Name="STARSII Store Pool 2"
              >>>> Password="{3DES}nKggeFT8wZkm0R9H8mXaEQ=="
              >>>> Properties="user=storeapp;portNumber=1433;databaseName=storedev;serverName=str2-dev-db"
              >>>> Targets="" TestTableName="SQL SELECT COUNT(*) FROM sysobjects"
              >>>
              >>>URL="jdbc:bea:sqlserver://str2-dev-db:1433"/>
              >>>
              >>>> <JDBCTxDataSource JNDIName="jdbc/StarsIIDS2" Name="StarsIIDS2"
              >>>> PoolName="STARSII Store Pool" Targets=""/>
              >>>> <JDBCConnectionPool
              >>>> DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"
              >>>> Name="STARSII Stars Pool"
              >>>> Password="{3DES}tjstL+8fUvdPQzqhNcCYGA=="
              >>>> Properties="user=starsapp;portNumber=1433;databaseName=stars;serverName=str2-dev-db"
              >>>> Targets="MyCluster"
              >>>> TestTableName="SQL SELECT COUNT(*) FROM sysobjects" URL="jdbc:bea:sqlserver://str2-dev-db:1433"/>
              >>>> <Machine Name="MachineA">
              >>>> <NodeManager DebugEnabled="true" ListenPort="5555" Name="MachineA"/>
              >>>> </Machine>
              >>>> <Server Cluster="MyCluster" ExpectedToRun="false"
              >>>> ExtraEjbcOptions="-J-mx521m" JDBCLoggingEnabled="true"
              >>>> ListenAddress="10.0.0.14" ListenPort="7002" Machine="MachineA"
              >>>> Name="Server1" ServerVersion="8.1.2.0" StdoutDebugEnabled="true"
              >>>
              >>>StdoutSeverityLevel="64">
              >>>
              >>>> <ServerDebug Name="Server1"/>
              >>>> <SSL IdentityAndTrustLocations="KeyStores" Name="Server1"/>
              >>>> <KernelDebug Name="Server1"/>
              >>>> <Log Name="Server1"/>
              >>>> <ServerStart Name="Server1"
              >>>> OutputFile="C:\bea\user_projects\domains\mydomain\.\NodeManagerClientLogs\mydomain_Server1\startServer_05_05_2004-12_50_56-4.log"
              >>>> Password="{3DES}js4NnTcuqRE15gEGfNTu4Q==" Username="system"/>
              >>>> <WebServer Name="Server1"/>
              >>>> <COM Name="Server1"/>
              >>>> <IIOP Name="Server1"/>
              >>>> <JTAMigratableTarget Name="Server1" UserPreferredServer="Server1"/>
              >>>> <JTARecoveryService Name="Server1"/>
              >>>> </Server>
              >>>> <Cluster ClusterAddress="10.0.0.14, 10.0.2.15"
              >>>> MulticastAddress="226.0.0.244" Name="MyCluster"/>
              >>>> <Server Cluster="MyCluster" ExpectedToRun="false"
              >>>> ExtraEjbcOptions="-J-mx521m" ListenAddress="10.0.2.15"
              >>>> ListenPort="7002" Machine="MachineB" Name="Server2"
              >>>> ServerVersion="8.1.2.0" StdoutDebugEnabled="true" StdoutSeverityLevel="64">
              >>>> <ServerDebug Name="Server2"/>
              >>>> <SSL IdentityAndTrustLocations="KeyStores" Name="Server2"/>
              >>>> <KernelDebug Name="Server2"/>
              >>>> <Log Name="Server2"/>
              >>>> <ServerStart Name="Server2"
              >>>> Password="{3DES}js4NnTcuqRE15gEGfNTu4Q==" Username="system"/>
              >>>> <WebServer Name="Server2"/>
              >>>> <COM Name="Server2"/>
              >>>> <IIOP Name="Server2"/>
              >>>> <JTAMigratableTarget Name="Server2" UserPreferredServer="Server2"/>
              >>>> <JTARecoveryService Name="Server2"/>
              >>>> </Server>
              >>>> <MigratableTarget Cluster="MyCluster" Name="Server1 (migratable)"
              >>>> Notes="This is a system generated default migratable target
              >>>
              >>>for a server.
              >>>
              >>>>Do not delete manually." UserPreferredServer="Server1"/>
              >>>> <MigratableTarget Cluster="MyCluster" Name="Server2 (migratable)"
              >>>> Notes="This is a system generated default migratable target
              >>>
              >>>for a server.
              >>>
              >>>>Do not delete manually." UserPreferredServer="Server2"/>
              >>>> <Application Deployed="true" Name="STARSII"
              >>>> Path="C:\cvsrepo\STARSII\STARSII" StagingMode="nostage" TwoPhase="true">
              >>>> <EJBComponent Name="../brsbMessage" Targets="MyCluster" URI="../brsbMessage"/>
              >>>> <EJBComponent Name="../brsbSession" Targets="MyCluster" URI="../brsbSession"/>
              >>>> <EJBComponent Name="../commonSession" Targets="MyCluster"
              >>
              >>URI="../commonSession"/>
              >>
              >>>> <EJBComponent Name="../complianceMessage" Targets="MyCluster"
              >>>
              >>>URI="../complianceMessage"/>
              >>>
              >>>> <EJBComponent Name="../complianceSession" Targets="MyCluster"
              >>>
              >>>URI="../complianceSession"/>
              >>>
              >>>> <EJBComponent Name="../starsiiEntity" Targets="MyCluster"
              >>
              >>URI="../starsiiEntity"/>
              >>
              >>>> <EJBComponent Name="../storeSession" Targets="MyCluster" URI="../storeSession"/>
              >>>> <WebAppComponent Name="/brsb" Targets="MyCluster" URI="../brsbWebApp"/>
              >>>> <WebAppComponent Name="/compliance" Targets="MyCluster" URI="../complianceWebApp"/>
              >>>> <WebAppComponent Name="/common" Targets="MyCluster" URI="../mainWebApp"/>
              >>>> <WebAppComponent Name="/store" Targets="MyCluster" URI="../storeWebApp"/>
              >>>> </Application>
              >>>> <Application Name="AffWebApp" Path="C:\cvsrepo\STARSII"
              >>>> StagingMode="nostage" TwoPhase="true">
              >>>> <WebAppComponent Name="AffWebApp" Targets="" URI="AffWebApp"/>
              >>>> </Application>
              >>>> <Application Name="activeportal"
              >>>> Path="C:\bea\user_projects\domains\mydomain\myserver\upload"
              >>>> StagingMode="nostage" TwoPhase="true">
              >>>> <WebAppComponent Name="activeportal" Targets="" URI="activeportal.war"/>
              >>>> </Application>
              >>>> <JTA Name="mydomain" TimeoutSeconds="300"/>
              >>>> <JMSServer Name="JobServer" Targets="Server1 (migratable)">
              >>>> <JMSQueue CreationTime="1072820642598"
              >>>> JNDIName="jms/STARSIIJobQueue" Name="STARSIIJobQueue"/>
              >>>> <JMSQueue CreationTime="1072820669345"
              >>>> JNDIName="jms/STARSIIPostQueue" Name="STARSIIPostQueue"/>
              >>>> <JMSQueue CreationTime="1088000795852"
              >>>> JNDIName="jms/STARSIIValidationQueue" Name="STARSIIValidationQueue"/>
              >>>> <JMSQueue CreationTime="1072820687125"
              >>>> JNDIName="jms/STARSIIErrorQueue" Name="STARSIIErrorQueue"/>
              >>>> <JMSQueue CreationTime="1072820687125"
              >>>> JNDIName="jms/STARSIIEmailQueue" Name="STARSIIEmailQueue"/>
              >>>> <JMSQueue CreationTime="1072820687225"
              >>>> JNDIName="jms/STARSIIEBTStateQueue" Name="STARSIIEBTStateQueue"/>
              >>>> <JMSQueue CreationTime="1072820687325"
              >>>> JNDIName="jms/STARSIIRFIQueue" Name="STARSIIRFIQueue"/>
              >>>> <JMSQueue CreationTime="1072820687425"
              >>>> JNDIName="jms/STARSIIRedeQueue" Name="STARSIIRedeQueue"/>
              >>>> <JMSQueue CreationTime="1072820687525"
              >>>> JNDIName="jms/STARSIIWatchListQueue" Name="STARIIWatchListQueue"/>
              >>>> <JMSQueue CreationTime="1072820687625"
              >>>> JNDIName="jms/STARSIIDeleteTransFileQueue" Name="STARSIIDeleteTransFileQueue"/>
              >>>> <JMSQueue CreationTime="1072820687725"
              >>>> JNDIName="jms/STARSIIUpdateAMRQueue" Name="STARSIIUpdateAMRQueue"/>
              >>>> <JMSQueue CreationTime="1072820687825"
              >>>> JNDIName="jms/STARSIIVPPExtractQueue" Name="STARSIIVPPExtractQueue"/>
              >>>> <JMSQueue CreationTime="1072820687925"
              >>>> JNDIName="jms/STARSIISIFSUploadQueue" Name="STARSIISIFSUploadQueue"/>
              >>>> <JMSQueue CreationTime="1072820688025"
              >>>> JNDIName="jms/STARSIIMARSQueue" Name="STARSIIMARSQueue"/>
              >>>> <JMSQueue CreationTime="1072820688125"
              >>>> JNDIName="jms/STARSIIFRBRichmondExtractQueue" Name="STARSIIFRBRichmondExtractQueue"/>
              >>>> <JMSQueue CreationTime="1072820688225"
              >>>> JNDIName="jms/STARSIICOTSExtractQueue" Name="STARSIICOTSExtractQueue"/>
              >>>> <JMSQueue CreationTime="1072820688325"
              >>>> JNDIName="jms/STARSIIVPPUploadQueue" Name="STARSIIVPPUploadQueue"/>
              >>>> </JMSServer>
              >>>> <Machine Name="MachineB">
              >>>> <NodeManager DebugEnabled="true" Name="MachineB"/>
              >>>> </Machine>
              >>>></Domain>
              >>>
              >
              

  • Foreign JMS Server - Weblogic 8.1 - Weblogic 8.1

    Hi
    I have to weblogic servers running on different ports.
    http://server1:port1
    http://server2:port2
    I have configured JMS store, JMS server, Destination (queue) in port2. I am able to send messages and retrieve messages in port2.
    I have written a MDB which was deployed in server1. I want to process the Messages posted to server2 destination. I tried to configure foreign JMS server in server1.
    In both servers, i am using default connection factories only.
    I am getting the following exceptions.
    ForeignMDB is unable to connect to the JMS destination: LocalTestingQueue
    LocalTestingQueue is the local jndi name given to the foreign destination.
    please find below the weblogic.xml entries for MDB
    <weblogic-enterprise-bean>
         <ejb-name>ForeignMDB</ejb-name>
         <message-driven-descriptor>           <destination-jndi-name>LocalTestingQueue</destination-jndi-name>           <initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
              <provider-url>http://myserver:26565</provider-url>          <connection-factory-jndi-name>weblogic.jms.ConnectionFactory</connection-factory-jndi-name>
         </message-driven-descriptor>
    </weblogic-enterprise-bean>
    could you please guide me to complete this?
    Thanks in advance
    Srinivas

    1 - Ensure that the MDB is configured to reference the remote connection factory AND remote destination.
    2 - If using the foreign JMS server facility, ensure that it defines the URL of the remote cluster/server, a connection factory mapping, and a destination mapping. Also ensure that the MDB connection factory and destination descriptor fields reference the local JNDI names for the mappings.
    3 - If not using the foreign JMS server facility, ensure that the MDB descriptor has the URL of the remote cluster, and a destination JNDI name that's in the remote cluster. (The connection factory JNDI name is not needed in this case, as the MDB will automatically look for a default connection factory that MDB's use.)
    I think the MDB chapter of the EJB programmer's guide will likely be helpful here. The latest documentation for the latest release may be more up-to-date than 8.1 -- the concepts are the same with the newer releases.
    Tom

  • JMS server in a cluster

              I have a JMS server deployed to one of the instances in my 2 instance cluster.
              I have an MDB attached to a queue on the JMS server (NOT a distributed destination).
              If I run both weblogic instances on one physical server, both instances can see
              and use the JMS server. My MDB correctly finds its destination on both instances.
              If I put the instances on separates physical servers, then the server that doesn't
              have the JMS server deployed cannot find the JMS destination for its MDB.
              Why should the behavior be different if I run the cluster all on one machine or
              spread it between 2 machines?
              I've attached my config.xml for reference. Thanks for any help,
              Colin
              

    I have seen other users as well complaining about the same issue "[Security:090398]Invalid Subject" frequently. You may check with Oracle Support for possible solution for your system version.
    Regards,
    Anuj

  • WLS 11g, define foreign JMS server

    Hi,
    I want to define JMS server on my server A and set on this A JMS server foreign destination to the JMS server B.
    On server A i defined:
    - JMS server and set target
    - JMS modules (set subdeployment, Connection Factory, Uniform Distributed Queue, JNDI Name, subdeployment)
    And i dont know where can i set destination foreign JMS server ? I have to define:
    - at JMS server: JNDI Connection URL: t3://XXX.0.22.191:7004,
    - at factory: Remote JNDI Name: Jms.VI and user name
    - at destination: Remote JNDI Name: Jms.queue.NOTIFICATIONS
    can you help me?
    thanks

    http://docs.oracle.com/cd/E23943_01/apirefs.1111/e13952/taskhelp/jms_modules/foreign_servers/ConfigureForeignServers.html

  • JMSHelper throws 'JMS server is not targetted' creating distributed queue

    I am trying to use the 8.1 weblogic.jms.extensions.JMSHelper to create a distributed queue. The target JMS servers are all migratable servers. When calling method createDistributedQueueAsync() I get a JMSException thrown compaining that the [first] JMS server is not targetted. Looking at the code provided in [http://forums.bea.com/bea/thread.jspa?messageID=200023386] which is based on the JMSHelper class source, the exception may be thrown because the target MBean is of class MigratableTargetMBean, whereas the JMSHelper is expecting class TargetMBean. Yet, the 9.0 documentation (which at least documents it) suggests that MigratableTargetMBean is derived from TargetMBean
              Does anyone have experience of this issue or its resolution, short of crafting the code by hand as per the above-referenced reply?

    Hi,
    Just to remember the configuration: 2 managed servers configured as cluster that should be deployed on 2 different machine.
    Following summary of the tests:
         - node manager + admin server + 1 managed server running on the first machine --> server failed to init with error "Server is not in the majority cluster partition"
         - node manager + admin server + 2 managed servers running on the one machine --> servers are running without errors
         - node manager + admin server + 1 managed server running on the first  machine / node manager runs on the second machine --> server on the first machine runs without errors without the famous error ' Server is not in the majority cluster partition'.
    Bottom line, seems that if the node manager is not running on the remote machine, the cluster is not in a stable state and so the single managed server failed to initialize.
    Is it according the documentation / expectations ?
    Thanks,
    Yaakov

  • How to deploy a MDBean into cluster with only one JMS server instance running on one of the cluster servers

              I am trying to deploy a MDBean in my cluster ( two servers). The MDBean requires
              the destinestion has to each cluster server. It means that I have to deploy my
              JMS server over the cluster. This will result multiple destinations (queue or
              topic) are created.
              Is there a way to run one JMS server with a clustered MDBean?
              Thanks,
              Taohe
              

    Check out my posting from 4-3 in this thread.
    http://forums.ni.com/ni/board/message?board.id=BreakPoint&message.id=5&jump=true
    I think I may have answered your question before you asked it.
    In that example I use the picture control to manipulate a bunch of rectangular images of booleans.
    I hope this helps,
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • JMS Server on a cluster stores all  msgs posted to Distributed Queue on 1 server failure

              Hi
              I have a Cluster setup with 2 managed servers srvr1 & srvr2 each running its own
              JMS server.
              Product version in use is Weblogic SP2.
              Configured a Distributed Queue and deployed it on both the JMS servers.
              Set the load-balancing to round-Robin and Server-Affinity to False on the connection
              factory.
              The producer is an external client which posts 100 messages to the Distributed
              queue.
              Consumers are MDBs pinned to the respective physical queues on the respective
              JMS servers.
              Each server has its own store.
              Once 100 messages are posted to the Distributed Queue. The messages are distributed
              to
              the 2 Physical Destinations equally i.e 50-50 each.
              While the MDBs are processing the msgs, server srvr1 is brought down at a point
              when it has consumed only 10 of its 50 msgs.
              When the srvr1 is brought up again, i am finding that the store for that JMS server
              contains the 40 unprocessed msgs in its physical queue + the msgs on the other
              queue that were unprocessed at the time this server crashed.
              When srvr1 went down, srvr2 was running and it went on to process all its 50 msgs
              completly. Why would those processed msgs show up again when srvr1 is brought
              up ?
              Please provide some input !!
              Ravi.
              

              The log message is from the distributed destination
              "forwarders". In distributed queues, these forwarders
              automatically move messages from queues without
              consumers to queues that have them (queue
              forwarders are disabled by default). In distributed topics,
              the forwarders serve
              to replicate a published message from the local
              topic member to each of the remote topic members.
              "Raviprasad Athivilli" <[email protected]> wrote:
              >
              >Tom
              >
              >I think you are right. When the server1 is brought up again, its picking
              >up all
              >the messages
              >that were written to the store.
              >
              >But as it starts processing them, i get this exception on the server2
              >that has
              >been running from the beginning.
              >
              ><Oct 10, 2003 6:20:19 PM EDT> <Error> <JMS> <040366> <JMS Distributed
              >Destination
              >member "MyQueue@JMSServer-02" in "MyQueue"
              >unable to accept connection from remote member "MyQueue@JMSServer-01"
              >due to exception
              >weblogic.jms.common.JMSException: can't find
              >queue target jndi table for MyQueue@JMSServer-01 != MyQueue
              >weblogic.jms.common.JMSException: can't find queue target jndi table
              >for MyQueue@JMSServer-01
              >!= MyQueue
              > at weblogic.jms.backend.BEDestination.setupSystemSubscription(BEDestination.java:3466)
              > at weblogic.jms.backend.BEManager.sessionAndTopicSubscriberCreate(BEManager.java:234)
              > at weblogic.jms.backend.BEManager.invoke(BEManager.java:384)
              > at weblogic.jms.dispatcher.Request.wrappedFiniteStateMachine(Request.java:602)
              > at weblogic.jms.dispatcher.DispatcherImpl.dispatchAsync(DispatcherImpl.java:152)
              > at weblogic.jms.dispatcher.DispatcherImpl.dispatchAsyncFuture(DispatcherImpl.java:396)
              > at weblogic.jms.dispatcher.DispatcherImpl_WLSkel.invoke(Unknown
              >Source)
              > at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:362)
              > at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
              > at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:821)
              > at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:308)
              > at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
              >
              >What does this mean ?
              >
              >Ravi.
              >Tom Barnes <[email protected]> wrote:
              >>Seems more than odd. Are you sure that q1 got unprocessed
              >>messages from q2? How did you confirm?
              >>
              >>Perhaps q1 got messages its MDB already processed back again -
              >>an indication that the MDB is throwing Runtime exceptions
              >>or Errors, and the container is rolling back transactions.
              >>
              >>Raviprasad Athivilli wrote:
              >>> Hi
              >>>
              >>> I have a Cluster setup with 2 managed servers srvr1 & srvr2 each running
              >>its own
              >>> JMS server.
              >>> Product version in use is Weblogic SP2.
              >>> Configured a Distributed Queue and deployed it on both the JMS servers.
              >>> Set the load-balancing to round-Robin and Server-Affinity to False
              >>on the connection
              >>> factory.
              >>>
              >>> The producer is an external client which posts 100 messages to the
              >>Distributed
              >>> queue.
              >>> Consumers are MDBs pinned to the respective physical queues on the
              >>respective
              >>> JMS servers.
              >>> Each server has its own store.
              >>>
              >>> Once 100 messages are posted to the Distributed Queue. The messages
              >>are distributed
              >>> to
              >>> the 2 Physical Destinations equally i.e 50-50 each.
              >>>
              >>> While the MDBs are processing the msgs, server srvr1 is brought down
              >>at a point
              >>> when it has consumed only 10 of its 50 msgs.
              >>>
              >>> When the srvr1 is brought up again, i am finding that the store for
              >>that JMS server
              >>> contains the 40 unprocessed msgs in its physical queue + the msgs
              >on
              >>the other
              >>> queue that were unprocessed at the time this server crashed.
              >>>
              >>> When srvr1 went down, srvr2 was running and it went on to process
              >all
              >>its 50 msgs
              >>> completly. Why would those processed msgs show up again when srvr1
              >>is brought
              >>> up ?
              >>>
              >>> Please provide some input !!
              >>>
              >>> Ravi.
              >>
              >
              

  • Bringing together multiple jms server queues

    I am running wl6.1 sp7 on two seperate machines. Each machine has the same
              application deployed to it with identical JMS Servers. We use a hardware
              loadbalancer to round-robin these instances. I have a requirement where I
              need to pull all messages off of a queue on a scheduled basis, combine the
              messages and deliver them to an external destination. The plan was to write
              an EJB that was invoked from a client scheduled with cron. How would I use
              the JMS API to connect to the same queue on two different JMS Servers and
              consume all of their messages from within one EJB deployed to either of
              these two servers?
              

    There is no limit on the number of destinations in a JMS server and each JMS server can use a different store.

  • JMS Server deployed to cluster of servers

    Hey guys,
    I was trying to deploy a JMS server to a cluster of servers and in the target section there wasn't an option for the cluster. They had an option for each individual server and another migratable version of the server. If I target one of the migratable servers in the cluster will it apply to all of the servers?
    I read the following passage in the weblogic documents:
    Obtain a Clustered JMS Licence
    In order to implement JMS clustering, you must have a valid clustered JMS license, which allows a connection factory and a destination to be on different WebLogic Server instances. A clustered JMS license is also required to use the Foreign JMS Providers feature, as described in "Simple Access to Remote or Foreign JMS Providers" in the Administration Console Online Help. If you do not have a valid clustered JMS license, contact your BEA sales representative.
    If i'm just building a model does this apply to me?
    Thanks

    continued reading to clarify. Problem solved, thanks for looking

  • [svn:bz-trunk] 19362: Increase the tests' timeout since it takes about 17 sec for JMS server to start up on some app servers .

    Revision: 19362
    Revision: 19362
    Author:   [email protected]
    Date:     2010-12-14 08:16:35 -0800 (Tue, 14 Dec 2010)
    Log Message:
    Increase the tests' timeout since it takes about 17 sec for JMS server to start up on some app servers.
    Modified Paths:
        blazeds/trunk/qa/apps/qa-regress/testsuites/config/tests/uuidgeneration/CustomUUIDGenerat orTest/simpleJMSMessagingTest.mxml
        blazeds/trunk/qa/apps/qa-regress/testsuites/config/tests/uuidgeneration/DuplicateUUIDTest /DuplicateUUIDTest1.mxml

    check the server log;
    /app/oracle/product/fwm11g/user_projects/domains/fwm_domain/servers/AdminServer/logs/AdminServer.log
    you can launch the console and see if it is running; http://<server>:<port>/console

  • JMS server targeted to several clusters

    Hello,
    I am facing a problem with my JMS configuration in weblogic (version 10.3.4.0). I have two clusters. Following the [JMS best practice|http://forums.oracle.com/forums/message.jspa?messageID=9455261#9455261] I have created a JMS server in each Managed server within the clusters. I have created only one JMS Module with a subdeployment. The JMS Module is targeted to all managed servers within both clusters, and the subdeployment is targeted to all JMS servers within the clusters.
    At the JMS module I have created a connection Factory targeted to the subdeployment, till there everything is ok.
    Afterwards I try to create a uniform distributed queue (UDQ) targeted to the subdeployment and WebLogic throws the following error:
    A UDD must be targeted to servers within a single cluster or a single stand-alone server, rather than Cluster ClusterA and Cluster ClusterB
    The only solution that I found is to create one JMS Module-subdeployment per JMS Server. Is there a way to have just a JMS Module and use it in all the managed server in several clusters? or I have to set up the same parameters (ConnectionFactories + queue +quota) in each JMS Module.
    Thank you very much in advance.
    Cheers,
    Oscar

    Hi Oscar,
    The correct way to step-up a UDQ is something like below
    C-1 => MS-1 + MS-2
    JMSServer-1 => MS-1
    JMSServer-2 => MS-2
    JMSModule-1 => C-1
    Sub_UDQ => JMSServer-1 + JMSServer-2
    UDQ => Sub_UDQ
    CF => C-1
    Where:
    ======
    MS-x are the managed servers
    C-x are the Cluster
    UDQ is the Uniform Distributed Queue
    Sub_UDQ is the Sub-Deployment for UDQ
    CF is the Connection Factory
    *=>* mean Targeted.
    Also to get more information on it you can have a look at the below link which has the step by step instructions which would surely help you out
    Topic: Steps to Configure Uniform Distributed Queue (UDQ) on Weblogic Server
    http://middlewaremagic.com/weblogic/?p=3747
    Regards,
    Ravish Mody

  • Can JMS topics and queues be clustered in a WLS 7.0 Cluster?

    We are installing a weblogic 7.0 cluster with 1 admin server and 2 managed
              node servers. Two nodes have been clustered. We are at the point where we
              need to configure JMS. Has any one implemented JMS in WLS 7 clustered
              environment? What are the things to watch out when clustering JMS? Can JMS
              topics and queues be clustered?
              TIA for any helpful hints and comments.
              Regards
              

    "Karim Ali" <[email protected]> wrote:
              >> Has any one implemented JMS in WLS 7 clustered
              >> environment?
              I'm currently working on a project with WLS 7 here at work, involving
              the implementation of BEA's JMS Cluster. So far, I really haven't had
              many hiccups.
              "Karim Ali" <[email protected]> wrote:
              >> What are the things to watch out when clustering JMS?
              At least in WLS 7, the biggest thing that stands out is the lack of
              automatic failover. Also, Message Paging -- make sure you configure
              paging high/low thresholds. Or, if you don't wish for it to occur but
              can't stop the server (very common these days with SLAs), set that
              byte/message high threshold to a very large number (correct me if I'm
              wrong, but I believe BEA recommends 2^63 -1).
              "Karim Ali" <[email protected]> wrote:
              >> Can JMS topics and queues be clustered?
              Well, since Topics and Queues are extensions of the
              javax.jms.Destination interface, the answer is: Yes!
              (SIDE NOTE: most people usually refer to them as a [JMS] "destination"
              -- it avoids a lot of conceptual baggage and plus, less typing!)
              You'll probably want to see this section of BEA's e-docs:
              http://edocs.bea.com/wls/docs70/adminguide/jms.html#config_distributed_destinations
              later,
              Brian J. Mitchell
              BEA Systems Administrator
              TRX
              Atlanta, GA
              email: [email protected]
              office: 404-327-7238
              mobile: 678-283-6530
              

  • Load balancing MQ 7.0 Foreign JMS Server and Weblogic 10 MDBs?

    We have the following configuration and we are trying to troubleshoot what appears to be a load balancing issue.
    We have 3 Solaris servers. Each Solaris server has two Weblogic managed servers running on it. There are a total of 6 managed servers in the Weblogic cluster.
    MQ Series 7.0 is also installed on each Solaris server. The MQ queue managers are in a MQ cluster. Each queue manager has the same queues defined.
    We have a foreign JMS Server configured on Weblogic that has destinations and a connection factory defined. There aren't many configuration options available for the connection factory. The destinations are bound to the queues defined on MQ using the MQ bindings file.
    The MQ bindings file was generated using the TRANSPORT(BIND) mechanism. Each bindings file points to the queue manager running on that machine. So the 2 managed servers running on one machine are accepting messages from the queue manager on that machine.
    The MDB's listenning for messages on the MQ queues are configured as follows in the weblogic-ejb-jar.xml:
         <max-beans-in-free-pool>16</max-beans-in-free-pool>
    We also created a custom work manager with min threads constraint=5 and max threads constraint=16. The dispatch-policy of all the MDBs is set to the custom work manager.
    The open input count on each MQ queue managers shows up as 32 which is expected.
    The default load algorithm on the cluster is round-robin.
    When we run a load test (injecting 40 messages per second on one MQ queue), we notice that one managed server ends up being significantly loaded than the other. Each MQ queue manager in the MQ cluster receives approximately the same number of messages in the load test. But it seems like one managed server is preferred over the other in Weblogic.
    What can be done to equally balance the load among the two managed servers on each Solaris server?
    Thanks for the help.

    Load balancing generally applies at determing how many consumer threads has to be created on each of the clustered queue instance. In that sense you have achieved perfect load balancing as your queue instances has the same no of consumer threads.
    Once you have set 'x' consumer threads on a queue, it is upto messaging provider to decide which thread to deliver a particular message and you will hardly have any control over this. Since your 32 threads are listening on the same queue, MQ can select any thread for delivering the message and the behaviour could be non deterministic.
    One option to change your design is to have a dispacther mdb which picks the messages off the MQ and then routes to a weblogic distributed destination and you can have your core mdb which does all processing listen to this distributed destination. You can enable load balancing when the disaptcher mdb routes the message to the distributed destination. Since dispatcher MDB is nothing more than a router, the unbalanced consumption off the MQ shouldn't seriously affect the server.

  • What is the association between JMS Server and JMS Module in weblogic 10?

    Hi,
    I have a created a ConnectionFactory, Queue, Topic under JMS Modules in Weblogic Server 10 using admin console.
    And I have created a JMS Server and Targetted to the current running server (Admin Server).
    But when I run the Queue Sender program it is unable to LookUP the jndi which I gave for Queue.
    queue = (Queue) initialContext.lookup("jndi_queue");
    Exception:
    javax.naming.NameNotFoundException: Unable to resolve 'jndi_queue'.
    But I configured this jndi name when I create the Queue in JMS Module in Weblogic Server 10.
    How JMS Module and JMS server are associated.
    My Doubt is if i have several JMS Modules and only one JMS Server created then how does the JMS Server identifies which Queue/Topic belongs to which JMS Module????
    Please advice.
    Thanks....

    Hi,
    Once you have JMS servers configured:
    Step 1: Target the JMS configuration module to the cluster that will host the destination, or, if not using clustering, target the module to the individual WL server that will host the JMS server.
    Step 2: Configure a "subdeployment" for the module and set it to reference the exact JMS server(s) that will host the destination. If you're using a distributed desitnation, you can specify multiple JMS servers, if you're using a regular destination, only specify a single destination.
    Step 3: Create a destination resource in the module, and set its subdeployment to the subdeployment you specified in step 1 (the console calls this "advanced targeting"). As a best practice avoid the "default targeting" option for the resource - always choose subdeployment (advanced) targeting.
    For more information, reference the "best practices" chapter of the JMS configuration guide:
    http://download.oracle.com/docs/cd/E14571_01/web.1111/e13738/best_practice.htm#CACJCGHG
    I also I highly recommend the JMS chapter of the book "Professional Oracle WebLogic".
    Hope this helps,
    Tom

Maybe you are looking for