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
Similar Messages
-
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 -
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.
>>
>
-
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 -
Best way to determine if JMS server is alive in a cluster
Can anyone give me an idea on the best way to find out if a JMS server
in a cluster
has failed so I can signal migration to another server in the cluster.
Thanks Larry
PS weblogic 7.0 sp1
Hallo Larry,
you can go via JMX and retrieve the according RuntimeMBeans in order to
check the health state of the
JMSServer resp. the server hosting the JMSServer. If they are not available
or failed you can trigger the
migration. At least that's the way I'm doing it...
try
JMSServerMBean jmsServer = null;
ServerMBean candidateServer = null;
MigratableTargetMBean migratableTarget = null;
* Retrieve all JMSServer defined for the current domain
Set jmsServerSet = home.getMBeansByType("JMSServer", domainName);
Object[] jmsServers = jmsServerSet.toArray();
* Just the first one is picked assuming there is only one defined
* within the active FHO domain
if(jmsServers != null && jmsServers.length > 0)
jmsServer = (JMSServerMBean) jmsServers[0];
if(s_logger.isDebugEnabled())
s_logger.debug("JMSServer: " + jmsServer.getName());
* A JMSServer can only be associated with a single target,
* thus pick again the first from the list.
TargetMBean[] targets = jmsServer.getTargets();
if(targets != null && targets.length > 0)
boolean hostingServerRunning = false;
boolean candidateServerRunning = false;
* Check whether the JMSServer is really associated with
* a migratable target. Otherwise the migration must be canceled
* since it cannot be performed!
if(targets[0] instanceof MigratableTargetMBean)
migratableTarget = (MigratableTargetMBean) targets[0];
* Retrieve all available candidates and select a running instance
* if any. First check for constrained candidate servers, than for
* all candidate servers
ServerMBean[] candidates =
migratableTarget.getConstrainedCandidateServers();
if(candidates == null || candidates.length == 0)
candidates = migratableTarget.getAllCandidateServers();
if(candidates != null && candidates.length > 0)
ServerMBean hostingServer = migratableTarget.getHostingServer();
boolean gotHostingServer = false;
boolean gotCandidateServer = false;
boolean runningInstance = false;
* Loop over all candidates as long as hosting server and candidate
* server are visited and there running state has been determined
for(int i=0; i< candidates.length; i++)
ServerRuntimeMBean serverRuntime = null;
* Retrieve the current state from the according runtime MBean
* if available
try
serverRuntime = (ServerRuntimeMBean) home.getMBean(new
WebLogicObjectName(candidates.getName(), "ServerRuntime", domainName,
candidates[i].getName()));
runningInstance =
serverRuntime.getState().equalsIgnoreCase(ServerRuntimeMBean.RUNNING);
catch(InstanceNotFoundException inf)
* When a server instance is not available, an InstanceNotFoundException will
be raised
* by WLS, which can be ignored
if(hostingServer != null && hostingServer.equals(candidates[i]))
hostingServerRunning = runningInstance;
gotHostingServer = true;
else
* A running candidate server will be prefered, thus only if no running
* instance can be detected, another instance is selected
if(!gotCandidateServer)
candidateServerRunning = runningInstance;
candidateServer = candidates[i];
gotCandidateServer = runningInstance;
if(gotCandidateServer && gotHostingServer)
break;
if(s_logger.isDebugEnabled())
s_logger.debug("Migratable Target: " + migratableTarget.getName());
s_logger.debug("Candidate Server: " + candidateServer.getName());
else
throw new Exception("JMSServer not deployed on a migratable target!");
* Retrieve the migration service coordinator for the active domain assuming
* there exists only one and invoke the migration later on
MigratableServiceCoordinatorRuntimeMBean coordinator = null;
Set coordinatorSet =
home.getMBeansByType("MigratableServiceCoordinatorRuntime", domainName);
Object[] coordinators = coordinatorSet.toArray();
if(coordinators.length > 0)
coordinator = (MigratableServiceCoordinatorRuntimeMBean) coordinators[0];
if(enforceMigrationOnInstancesDown)
coordinator.migrate(migratableTarget, candidateServer, hostingServerRunning,
candidateServerRunning);
else
coordinator.migrate(migratableTarget, candidateServer);
s_logger.info("Migration of JMSServer from node "
+ migratableTarget.getName()
+ " to node "
+ candidateServer.getName()
+ " has been started");
else
throw new Exception("MigrationServiceCoordinator cannot be retrieved");
catch(Exception e)
s_logger.error("Could not migrate JMSServer", e);
Regards,
CK
"Larry Presswood" <[email protected]> schrieb im Newsbeitrag
news:[email protected]...
> Can anyone give me an idea on the best way to find out if a JMS server
> in a cluster
> has failed so I can signal migration to another server in the cluster.
>
> Thanks Larry
>
> PS weblogic 7.0 sp1
> -
JMS Server targeted to Server cluster
Hi , Can JMS Server be targeted to Server Cluster? Are there any
architectural best practices for this?Thanks Tom.
<Tom Barnes> wrote in message news:[email protected]...
There's no underlying machinery (code) that supports targeting a JMS server
to a cluster.
The targeting problem can actually get fairly involved - for a variety of
reasons, I tend to recommend the following cookie cutter approach.
This is a cut-and-paste from my notes:
(1) Create a custom WL store on each server, and target it to a migratable
target (most of the time you can use the default migratable target that each
server provides).
(2) Target the JMS servers to a migratable target each, the same MT as the
store (don't worry, the JMS server won't wander to a different server
unless you configure the MT to allow this!)
(3) Target jms configuration system modules to the cluster (that's it! - not
to anything else)
(4) Create one subdeployment per module (and only one), populate the
subdeployment only with JMS servers from step (2) above.
(5) When targeting destinations always use advanced targeting to target
destinations to the subdeployment from above - not the 'default target'.
If you have both non-distributed and distributed destinations, use two
different JMS modules. (The idea is to keep things simple to understand -
each module should yield the same targeting solution for all of its
component resources. Default targetting can be problematic - it is far too
easy for destination members to end up on JMS servers that you don't want
them on.).
(6) When targeting a CF you have two options (A) use advanced targeting to
target it to the subdeployment (for access by applications that are remote
to the cluster) or (B) don't target it all (this will cause it to use the
module target, which if you recall, we just set to the cluster, (for access
by applications that run on a server within the cluster). The choice
actually depends on how you plan to use the CF - use (B) for apps running on
servers within the cluster, and (A) for apps running remote to the cluster.
See the otherwise-largely-outdated JMS Performance Guide for the reasoning.
It may be that you don't have to use migratable targets, as you may not have
a use for "migration" at the moment - but it'll help in the future if you
ever plan to use the migration features.
Tom -
Accessing JMS UDD deployed on OSB cluster from a composite JMS adapter deployed on soa cluster
Our environment setup
Single domain with three clusters
osb_cluster.soa_cluster and bam_cluster
osb_cluster: osb_server1 and osb_server2
wlsbJMSServer_auto_1: targetted to osb_server1
wlsbJMSServer_auto_2: targetted to osb_server2
osb_subdeployment1:targetted to wlsbJMSServer_auto_1 and wlsbJMSServer_auto_2 JMS servers
osb_subdeployment1 has JMS UDD queue jms/wlsb/queue
soa_cluster: soa_server1 and soa_server2
There is a BPEL composite deployed to soa_cluster. It has JMS adapter trying to read messages from jms/wlsb/queue
JCA JMSAdapter is deployed to osb,soa clusters and Admin server
ConnectionFactory is targetted to soa and osb clusters (osb_cluster and soa_cluster)
We have bounced soa and osb servers(not admin) after jms changes.
soa log says
JMSAdapter Composite1l JmsDDEndpoint_onFailure: Unable to resolve 'jms.wlsb.queue. Resolved 'jms'
Can we access JMS destinations deployed on one cluster from different cluster?
If yes, how can we do that ? do we need to modify BPEL JCA file to indicate destination is on another cluster?
Thanks,
PraveenAnybody has faced similar issue?
-
JMS sub-deployment targeted to cluster
Hello,
I have read at the Oracle documentation that we can use a sub-deployment within a JMS module targeted only to a single JMS Server. But I have an application that create JMS resources with deploy descriptors (Application modules) and target the sub-deployment to a cluster with two machines, each machine has a JMSServer. It seems to work (I see them on the JNDI tree on both machines). This is the jms.xml:
Do you also use sub-deployment targeted to a cluster or I shouldn't? Thank you in advance ;)
I am using webLogic version 10.3.4.0
<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-jms xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-jms"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-jms http://xmlns.oracle.com/weblogic/weblogic-jms/1.1/weblogic-jms.xsd">
<wls:quota name="InboundMessageQuota">
<wls:bytes-maximum>1000000</wls:bytes-maximum>
<wls:messages-maximum>10000</wls:messages-maximum>
</wls:quota>
<!-- Factories -->
<wls:connection-factory name="InboundMessageConnectionFactory">
<wls:sub-deployment-name>InboundMessage</wls:sub-deployment-name>
<wls:jndi-name>jms.InboundMessageConnectionFactory</wls:jndi-name>
<wls:security-params>
<wls:attach-jmsx-user-id>false</wls:attach-jmsx-user-id>
</wls:security-params>
</wls:connection-factory>
<!-- Queue's -->
<wls:uniform-distributed-queue name="InboundMessageQueue">
<wls:sub-deployment-name>InboundMessage</wls:sub-deployment-name>
<wls:delivery-params-overrides>
<wls:delivery-mode>Non-Persistent</wls:delivery-mode>
</wls:delivery-params-overrides>
<wls:delivery-failure-params>
<wls:redelivery-limit>0</wls:redelivery-limit>
</wls:delivery-failure-params>
<wls:jndi-name>jms.InboundMessageQueue</wls:jndi-name>
</wls:uniform-distributed-queue>
</wls:weblogic-jms>Technically, cluster targeting a distributed destination is supported, and it'll work as long as your can be absolutely assured that the cluster will never host additional JMS servers - perhaps from future projects, or due to integrating third party products. Otherwise, your distributed destinations will end up creating instances on JMS servers where they don't belong - a common mistake that can be tough to diagnose and untangle. I highly recommend staying with the best practice of using a subdeployment that references exactly the intended JMS servers. Note that a subdeployment can reference more than one JMS server.
See [url http://download.oracle.com/docs/cd/E17904_01/web.1111/e13738/best_practice.htm#JMSAD455] WL JMS Configuration Best Practices
Hope this helps,
Tom -
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>
>>>
>
-
Get MDB to subscribe to JMS topic deployed on different server instance
Can you do this?
I have 2 servers.
I want to Have the MDB deployed to one server subscribe to the JMS topic deployed on the second server.
This seems like it should be possible. Is it?Hi, I have the similar situation.
On the OC4J1 I have topic (jms/MojTopic) and factory (jms/MojTopicFactory), and my client (on the same OC4J) send some messages on that topic.
I used this solution because the client can always send messages, regardless of network failure...
On the OC4J2 I have MDB that is setup like this (orion-ejb-jar.xml):
<?xml version = '1.0' encoding = 'UTF-8'?>
<orion-ejb-jar>
<enterprise-beans>
<message-driven-deployment name="LogBean"
destination-location="jms/MojTopic"
connection-factory-location="jms/MojTopicFactory">
</message-driven-deployment>
</enterprise-beans>
</orion-ejb-jar>
I configured jms/MojTopicFactory to the host of OC4J1, but still don't understand why I have to set up jms/MojTopic?
Ok, this way I can send messages to OC4J1 and OC4J2 pick up that messages, BUT, when I disconnect OC4J2 from the network I get the following error (application.log from OC4J2):
06/12/27 11:48:35.171 10.1.3.1.0 Started
06/12/27 11:51:34.687 Error in MessageDrivenBean 'LogBean': javax.jms.JMSException: deqMessage
javax.jms.JMSException: deqMessage
at com.evermind.server.jms.JMSUtils.make(JMSUtils.java:1072)
at com.evermind.server.jms.JMSUtils.toJMSException(JMSUtils.java:1152)
at com.evermind.server.jms.TCPJMSRemoteServer.shutdownForce(TCPJMSRemoteServer.java:295)
at com.evermind.server.jms.TCPJMSRemoteServer.execute(TCPJMSRemoteServer.java:202)
at com.evermind.server.jms.JMSRemoteServer.deqMessage(JMSRemoteServer.java:575)
at com.evermind.server.jms.EvermindSession.receive(EvermindSession.java:1254)
at com.evermind.server.jms.EvermindSession.getOneMessage(EvermindSession.java:1151)
at com.evermind.server.jms.EvermindMessageConsumer.getOneMessage(EvermindMessageConsumer.java:444)
at com.evermind.server.jms.EvermindMessageConsumer.receive(EvermindMessageConsumer.java:192)
at com.evermind.server.ejb.MessageDrivenConsumer.receiveMessage(MessageDrivenConsumer.java:424)
at com.evermind.server.ejb.MessageDrivenConsumer.processMessages(MessageDrivenConsumer.java:213)
at com.evermind.server.ejb.MessageDrivenConsumer.run(MessageDrivenConsumer.java:169)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
at java.io.DataInputStream.readInt(DataInputStream.java:353)
at com.evermind.server.jms.JMSRemoteServer.processFlag(JMSRemoteServer.java:612)
at com.evermind.server.jms.JMSRemoteServer.getMessage(JMSRemoteServer.java:632)
at com.evermind.server.jms.JMSRemoteServer.access$300(JMSRemoteServer.java:72)
at com.evermind.server.jms.JMSRemoteServer$19.getReply(JMSRemoteServer.java:592)
at com.evermind.server.jms.JMSRemoteServer.readResponse(JMSRemoteServer.java:648)
at com.evermind.server.jms.TCPJMSRemoteServer.execute(TCPJMSRemoteServer.java:189)
... 10 more
When I connect OC4J2 again, the MDB doesn't pick up those messages, so my mission of 100% sure sending of messages fails :(
Any help?
Thanx,
Vanja -
Deployment from a single BEA server to a cluster
Hi,
We have developed a Web application on a single BEA server while we
want to deploy the Web application on a cluster of 3 servers.
1. Do you think we will need to change the code? since we have
referenced the single server port in our code/properties files.
2. Can I configure the single server as an admin server in a cluster.
3. Would appreciate pointers to documentation.
Thanks,
Hi Ethan,
As for source code changes, it depends on your app. We often do this type of
consulting on clustering with Weblogic, and the common problems that we've
seen are:
--> session attributes must be serializable
--> code that relies on globals (such as static fields or servlet context
attributes)
--> web processing that is not idempotent (makes seamless failover
impossible)
--> code that assumes the app server is the exposed address (i.e. the user
types "http://www.myco.com" but that is just the address of the proxy -- the
app server is hidden maybe inside a firewall on a machine whose name isn't
visible to the end users)
Peace,
Cameron Purdy
Tangosol Inc.
<< Tangosol Server: How Weblogic applications are customized >>
<< Download now from http://www.tangosol.com/download.jsp >>
"Ethan" <[email protected]> wrote in message
news:[email protected]..
> Hi,
>
> We have developed a Web application on a single BEA server while we
> want to deploy the Web application on a cluster of 3 servers.
> 1. Do you think we will need to change the code? since we have
> referenced the single server port in our code/properties files.
> 2. Can I configure the single server as an admin server in a cluster.
> 3. Would appreciate pointers to documentation.
>
> Thanks,
-
JMS Server Target & Deploy error
Hi All,
I am getting the error while creating the JMS Server.
I have created the JMS Server and on Target and Deploy tab,when I select the server
name as target and hit the Apply button, I get the following error
An unexpected error occurred while setting Target to mydomain:Name=myserver(migratable),Type=MigratableTarget.
what could be the reason?
Thanks
WD
It still seems like it is your app that is throwing the exception.
If you post the full log message, not just the excerpted text,
the problem might be self evident.
WD wrote:
> The applications code is fine. With the same ear file,I am getting this error
> intermittently. My suspicions is that sometimes when I redeploy the same application(without
> anything changed), wls does not deploy it properly. Because when I was getting
> this error,I just undeployed and deployed the app and it worked.
> Have you seen this kind of behavior with wls?
>
> Thanks
> WD
>
>
>
> Tom Barnes <[email protected].bea.com>
> wrote:
>
>>It is unusual not to have a full stack trace - particularly
>>for application generated exceptions. My first
>>suspicions is that your app is creating a producer
>>without specifying a destination (a non-pinned producer),
>>and then attempting to send a message without specifying
>>a destination.
>>
>>WD wrote:
>>
>>>The only log message I have is the one I posted earlier. It is from
>>
>>the log file.
>>
>>>
>>>
>>>Tom Barnes <[email protected].bea.com>
>>>wrote:
>>>
>>>
>>>>OK. For this new exception, do you have the full
>>>>log message/stack trace?
>>>>
>>>>WD wrote:
>>>>
>>>>
>>>>
>>>>>I just left the app alone for the weekend and when I tried to do it
>>>>
>>>>again today,it
>>>>
>>>>
>>>>>just worked. I do not know what was wrong with it on friday.
>>>>>
>>>>>But now I am running into another weird error. I have deployed my
>>
>>application
>>
>>>>>and it works fine and MyMDB also works fine. But sometimes I am getting
>>>>
>>>>the following
>>>>
>>>>
>>>>>error. It is happening very intermittently.
>>>>>
>>>>>Exception in MyMDB.onMessage()Must provide destination
>>>>>
>>>>>Thanks
>>>>>WD
>>>>>
>>>>>
>>>>>Tom Barnes <[email protected].bea.com>
>>>>>wrote:
>>>>>
>>>>>
>>>>>
>>>>>>Do you have the full log message/stack trace?
>>>>>>
>>>>>>WD wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>>Hi All,
>>>>>>>I am getting the error while creating the JMS Server.
>>>>>>>I have created the JMS Server and on Target and Deploy tab,when
>>
>>I
>>
>>>>select
>>>>
>>>>
>>>>>>the server
>>>>>>
>>>>>>
>>>>>>
>>>>>>>name as target and hit the Apply button, I get the following error
>>>>>>>
>>>>>>>An unexpected error occurred while setting Target to mydomain:Name=myserver(migratable),Type=MigratableTarget.
>>>>>>>
>>>>>>>what could be the reason?
>>>>>>>
>>>>>>>Thanks
>>>>>>>WD
>>>>>>>
>>>>>>>
>>>>>>
>
-
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.mxmlcheck 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 -
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
-
Hi all,
I've setup an OSB cluster with 2 managed servers.
From WLS console I created successfully the below JMS resources:
1. new file store, name and directory: MyFileStore_m01, target: bnk01osbm01 migratable
2. new file store, name and directory: MyFileStore_m02, target: bnk01osbm02 migratable
3. new jms server, name: MyJMSServer_m01, persistent store: MyFileStore_m01, target: bnk01osbm01 migratable
4. new jms server, name: MyJMSServer_m02, persistent store: MyFileStore_m02, target: bnk01osbm02 migratable
5. new jms module, name: MyJMSSystemModule, targets: cluster bnk01osbcluster + all servers in the cluster
6. new xa conn factory, name: MyXAConnectionFactory, jndi name: MyXAConnectionFactory
(targets as proposed by WLS itself: cluster bnk01osbcluster + all servers in the cluster)
+ XA Connection Factory Enabled: true
7. new Distributed Queue, name: MyDistributedQueue1, jndi name: MyDistributedQueue1, load balancing policy: round-robin
(targets as proposed by WLS itself: cluster bnk01osbcluster + all servers in the cluster)
+ allocate members uniformly: true
and I recorded that into the included recorded_by_wls.py. As said no error has been raised.
Then I removed the above JMS resources and I executed the recorded_by_wls.py from command line getting the error that I reported at the end of the email.
I changed slightly the original py produced by WLS by adding only the below first 5 lines:
print "Starting the script ..."
connect("weblogic", "weblogic", "t3://wasdv1r3n1.dev.b-source.net:7031")
edit()
startEdit()
cd('/')
I included also the recorded_by_wls.py source at the end of the email.
For information I reported also what I saw on WLS console when I created manually my JMS resources.
Do you have an idea why a successfully recorded WLS session fails when executed from a command line ?
Any help will be very appreciate.
Thanks in advance.
Regards
ferp
Error:
java weblogic.WLST recorded_by_wls.py Initializing WebLogic Scripting Tool (WLST) ...
Welcome to WebLogic Server Administration Scripting Shell
Type help() for help on available commands
Starting the script ...
Connecting to t3://wasdv1r3n1.dev.b-source.net:7031 with userid weblogic ...
Successfully connected to Admin Server 'bnk01osbadm' that belongs to domain 'bnk01osb'.
Warning: An insecure protocol was used to connect to the server. To ensure on-the-wire security, the SSL port or
Admin port should be used instead.
Location changed to edit tree. This is a writable tree with
DomainMBean as the root. To make changes you will need to start an edit session via startEdit().
For more help, use help(edit)
Starting an edit session ...
Started edit session, please be sure to save and activate your changes once you are done.
Activating all your changes, this may take a while ...
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
Starting an edit session ...
Started edit session, please be sure to save and activate your changes once you are done.
Activating all your changes, this may take a while ...
The edit lock associated with this edit session is released once the activation is completed.
This Exception occurred at Mon Sep 07 15:31:33 CEST 2009.
weblogic.application.ModuleException: ERROR: Unable to add destination MyJMSSystemModule!wlsbJMSServer_auto_2@MyDistributedQueue1 to the back end wlsbJMSServer_auto_2
at weblogic.jms.module.JMSModule.prepareUpdate(JMSModule.java:618)
at weblogic.jms.module.ModuleCoordinator.prepareUpdate(ModuleCoordinator.java:487)
at weblogic.application.internal.flow.DeploymentCallbackFlow$5.next(DeploymentCallbackFlow.java:514)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepareUpdate(DeploymentCallbackFlow.java:280)
at weblogic.application.internal.BaseDeployment$PrepareUpdateStateChange.next(BaseDeployment.java:679)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
at weblogic.application.internal.BaseDeployment.prepareUpdate(BaseDeployment.java:444)
at weblogic.application.internal.SingleModuleDeployment.prepareUpdate(SingleModuleDeployment.java:16)
at weblogic.application.internal.DeploymentStateChecker.prepareUpdate(DeploymentStateChecker.java:221)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepareUpdate(AppContainerInvoker.java:149)
at weblogic.deploy.internal.targetserver.operations.DynamicUpdateOperation.doPrepare(DynamicUpdateOperation.java:130)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:723)
at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1190)
at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:248)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: weblogic.jms.common.JMSException: [JMSExceptions:045050]A destination of name MyJMSSystemModule!wlsbJMSServer_auto_2@MyDistributedQueue1 has a jms-create-destination-identifier of name MyJMSSystemModule!wlsbJMSServer_auto_2@MyDistributedQueue1. However, another destination of name MyJMSSystemModule!wlsbJMSServer_auto_2@MyDistributedQueue1 has the same jms-create-destination-identifier. Two destinations with the same jms-create-destination-identifier cannot be co-located on the JMSServer named wlsbJMSServer_auto_2.
at weblogic.jms.backend.BackEnd.addDestination(BackEnd.java:1527)
at weblogic.jms.backend.BEDestinationRuntimeDelegate.prepare(BEDestinationRuntimeDelegate.java:195)
at weblogic.jms.backend.udd.UDDEntity.prepare(UDDEntity.java:444)
at weblogic.jms.module.JMSModule$EntityState.setState(JMSModule.java:1704)
at weblogic.jms.module.JMSModule$EntityState.setState(JMSModule.java:1667)
at weblogic.jms.module.JMSModule$EntityState.access$100(JMSModule.java:1608)
at weblogic.jms.module.JMSModule.addEntity(JMSModule.java:936)
at weblogic.jms.module.JMSModule.addEntity(JMSModule.java:841)
at weblogic.jms.module.JMSModule.access$1500(JMSModule.java:87)
at weblogic.jms.module.JMSModule$JMSModuleListener.prepareUpdate(JMSModule.java:1485)
at weblogic.descriptor.internal.DescriptorImpl$Update.prepare(DescriptorImpl.java:481)
at weblogic.descriptor.internal.DescriptorImpl.prepareUpdateDiff(DescriptorImpl.java:195)
at weblogic.descriptor.internal.DescriptorImpl.prepareUpdate(DescriptorImpl.java:174)
at weblogic.jms.module.JMSModule.prepareUpdate(JMSModule.java:614)
Problem invoking WLST - Traceback (innermost last):
File "/products/software/tmp/recorded_by_wls.py", line 92, in ?
File "<iostream>", line 364, in activate
WLSTException: Error occured while performing activate : Error while Activating changes.ERROR: Unable to add destination MyJMSSystemModule!wlsbJMSServer_auto_2@MyDistributedQueue1 to the back end wlsbJMSServer_auto_2 Use dumpStack() to view the full stacktrace
recorded_by_wls.py source
print "Starting the script ..."
connect("weblogic", "weblogic", "t3://wasdv1r3n1.dev.b-source.net:7031")
edit()
startEdit()
cd('/')
cmo.createFileStore('MyFileStore_m01')
cd('/FileStores/MyFileStore_m01')
cmo.setDirectory('MyFileStore_m01')
set('Targets',jarray.array([ObjectName('com.bea:Name=bnk01osbm01 (migratable),Type=MigratableTarget')], ObjectName))
activate()
startEdit()
cd('/')
cmo.createFileStore('MyFileStore_m02')
cd('/FileStores/MyFileStore_m02')
cmo.setDirectory('MyFileStore_m02')
set('Targets',jarray.array([ObjectName('com.bea:Name=bnk01osbm02 (migratable),Type=MigratableTarget')], ObjectName))
activate()
startEdit()
cd('/')
cmo.createJMSServer('MyJMSServer_m01')
cd('/Deployments/MyJMSServer_m01')
cmo.setPersistentStore(getMBean('/FileStores/MyFileStore_m01'))
set('Targets',jarray.array([ObjectName('com.bea:Name=bnk01osbm01 (migratable),Type=MigratableTarget')], ObjectName))
activate()
startEdit()
cd('/')
cmo.createJMSServer('MyJMSServer_m02')
cd('/Deployments/MyJMSServer_m02')
cmo.setPersistentStore(getMBean('/FileStores/MyFileStore_m02'))
set('Targets',jarray.array([ObjectName('com.bea:Name=bnk01osbm02 (migratable),Type=MigratableTarget')], ObjectName))
activate()
startEdit()
cd('/')
cmo.createJMSSystemResource('MyJMSSystemModule')
cd('/SystemResources/MyJMSSystemModule')
set('Targets',jarray.array([ObjectName('com.bea:Name=bnk01osbcluster,Type=Cluster')], ObjectName))
activate()
startEdit()
cd('/JMSSystemResources/MyJMSSystemModule/JMSResource/MyJMSSystemModule')
cmo.createConnectionFactory('MyXAConnectionFactory')
cd('/JMSSystemResources/MyJMSSystemModule/JMSResource/MyJMSSystemModule/ConnectionFactories/MyXAConnectionFactory')
cmo.setJNDIName('MyXAConnectionFactory')
cd('/JMSSystemResources/MyJMSSystemModule/JMSResource/MyJMSSystemModule/ConnectionFactories/MyXAConnectionFactory/SecurityParams/MyXAConnectionFactory')
cmo.setAttachJMSXUserId(false)
cd('/JMSSystemResources/MyJMSSystemModule/JMSResource/MyJMSSystemModule/ConnectionFactories/MyXAConnectionFactory')
cmo.setDefaultTargetingEnabled(true)
activate()
startEdit()
cd('/JMSSystemResources/MyJMSSystemModule/JMSResource/MyJMSSystemModule/ConnectionFactories/MyXAConnectionFactory/TransactionParams/MyXAConnectionFactory')
cmo.setTransactionTimeout(3600)
cmo.setXAConnectionFactoryEnabled(true)
activate()
startEdit()
cd('/JMSSystemResources/MyJMSSystemModule/JMSResource/MyJMSSystemModule')
cmo.createUniformDistributedQueue('MyDistributedQueue1')
cd('/JMSSystemResources/MyJMSSystemModule/JMSResource/MyJMSSystemModule/UniformDistributedQueues/MyDistributedQueue1')
cmo.setJNDIName('MyDistributedQueue1')
cmo.setLoadBalancingPolicy('Round-Robin')
cmo.setDefaultTargetingEnabled(true)
activate()
startEdit()
-- source end --
ON WLS console
Name Type Target
MyFileStore_m01 FileStore bnk01osbm01 (migratable)
MyFileStore_m02 FileStore bnk01osbm02 (migratable)
FileStore_auto_1 FileStore bnk01osbm01
FileStore_auto_2 FileStore bnk01osbm02
WseeFileStore_auto_1 FileStore bnk01osbm01
WseeFileStore_auto_2 FileStore bnk01osbm02
Name Persistent Store Target Current Server
MyJMSServer_m01 MyFileStore_m01 bnk01osbm01 (migratable) bnk01osbm01
MyJMSServer_m02 MyFileStore_m02 bnk01osbm02 (migratable) bnk01osbm02
wlsbJMSServer_auto_1 FileStore_auto_1 bnk01osbm01 bnk01osbm01
wlsbJMSServer_auto_2 FileStore_auto_2 bnk01osbm02 bnk01osbm02
WseeJmsServer_auto_1 Wsee FileStore_auto_1 bnk01osbm01 bnk01osbm01
WseeJmsServer_auto_2 Wsee FileStore_auto_2 bnk01osbm02 bnk01osbm02
Name Type
MyJMSSystemModule System
configwiz-jms System
jmsResources System
WseeJmsModule System
Name Type JNDI Name Subdeployment Targets
MyDistributedQueue1 Uniform Distributed Queue MyDistributedQueue1 Default Targetting bnk01osbcluster
MyXAConnectionFactory Connection Factory MyXAConnectionFactory Default Targetting bnk01osbclusterHi Ferp,
Do you have an idea why a successfully recorded WLS session fails when executed from a command line ?It should not fail. Each and every successfully (activation has been done without reporting an error/conflict) recorded session will execute on other servers successfully until a unique name constraint gets violated.
In your case this violation has happened. Your script is trying to create a distributed destination "MyDistributedQueue1" under module "MyJMSSystemModule", targetted to JMS Server "wlsbJMSServer_auto_2" but a Distributed Queue with same JNDI name already exists there.
Please check.
Regards,
Anuj
Maybe you are looking for
-
How to set up Airport Extreme for 11ac and 11n?
I have just purchased the new Airport Extreme (August 2014) because Apple's website states Simultaneous dual-band support. AirPort Extreme features simultaneous dual-band 802.11ac Wi‑Fi. That means it transmits at both the 2.4GHz and 5GHz frequencies
-
This has been happening for several months now. I use AVG anti-virus and it runs both updates and scans regularly. I do find that if I do an extra full scan it improves the situation for perhaps half a day. Sometimes the fault slows down the browser
-
ITunes Match failure on Windows 7 64-bit
Ever since I have installed the latest update of iTunes 10.6.1 on my computer about ten days ago, iTunes Match will come on and try to synchronize my library to the iCloud. As soon as it reaches step 3 to upload remaining tracks to the iCloud, iTune
-
How do make the text on a label Bold?
Simple question: How do make the text on a label Bold?
-
Drives show in disk utility, not on desktop
A recent development. Some FW 800 drives stopped appearing.