Weblogic Cluster recovery of servers declared dead
Hi
1)When the HungServerRecoverSecs time is over and the server is declared dead,
why does the server not behave as a part of the cluster even when it is brought
up?
2)What steps need to be taken to make sure that the server beahaves as a part
of the cluster once it is brought back up?
3)Is there a way by which we can restart any one of the boxes clustered together
without affecting the other ones behaviour as a part of the cluster and then puch
into this cluster the one we started lately?
Thanks
Mausam
Mausam wrote:
> Hi
> 1)When the HungServerRecoverSecs time is over and the server is declared dead,
> why does the server not behave as a part of the cluster even when it is brought
> up?
This is not true, when hungserverrecoversecs time is over, we just assume that server
is hung and not responding. We do failover to 2ndry server at this time. When you
recycle such server, it should become part of dynamic list of servers used by proxy
to load balance. if this is not the behavior you are seeing, it could be a bug.
Follow with [email protected]
>
> 2)What steps need to be taken to make sure that the server beahaves as a part
> of the cluster once it is brought back up?
none at your end. With the next HTTP request we will rewrite the list of servers HTTP
header that will be parsed by proxy.
>
> 3)Is there a way by which we can restart any one of the boxes clustered together
> without affecting the other ones behaviour
yes, you can!
> as a part of the cluster and then puch
> into this cluster the one we started lately?
yes you can add or delete as many servers as you want any time in cluster.
>
>
> Thanks
> Mausam
Viresh Garg
Principal Developer Relations Engineer
BEA Systems
Similar Messages
-
WebLogic Cluster 2 Managed Servers
Hi all,
Description: 2 virtual machines configured in cluster:
ManagedServer1: 172.31.10.76 on port 7780 (here is also AdminServer on port 7001)
ManagedServer2: 172.31.10.77 on port 7780
Everything seems to be working. I was able to deploy a war file which could tell me the ip address of the server. Everything seems to be all right. However I have some questions:
On a third machine I have Oracle 11g and I want to deploy application through the AdminServer to both of my ManagedServers but to use the db of the third server 172.31.10.78. Well I managed to do this however I can not log in through the login page of my web application. I get the following error:
<Aug 30, 2011 11:13:13 AM PDT> <Error> <HTTP> <BEA-101020> <[ServletContext@1072316483[app:manager module:manager.war path:/manager spec-version:2.5]] Servlet failed with Exception
org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is javax.persistence.PersistenceException: Exception [EclipseLink-28013] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Attempted to deploy PersistenceUnit [ApplicationEntityManager] while being in the wrong state [DeployFailed]. Close all factories for this PersistenceUnit.
at org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransactionManager.java:375)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:374)
at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:263)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:101)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
Truncated. see log file for complete stacktrace
Caused By: javax.persistence.PersistenceException: Exception [EclipseLink-28013] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Attempted to deploy PersistenceUnit [ApplicationEntityManager] while being in the wrong state [DeployFailed]. Close all factories for this PersistenceUnit.
at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:307)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:151)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:207)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:195)
at org.springframework.orm.jpa.JpaTransactionManager.createEntityManagerForTransaction(JpaTransactionManager.java:392)
Truncated. see log file for complete stacktrace
Caused By: Exception [EclipseLink-28013] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Attempted to deploy PersistenceUnit [ApplicationEntityManager] while being in the wrong state [DeployFailed]. Close all factories for this PersistenceUnit.
at org.eclipse.persistence.exceptions.EntityManagerSetupException.cannotDeployWithoutPredeploy(EntityManagerSetupException.java:170)
at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:307)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:151)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:207)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:195)
Truncated. see log file for complete stacktrace
I have also setup a DataSources with the appropriet settings - from tests I see I am able to connect to the db however I can not log in so I think there is something with the db. I`m not sure if I have Cluster with 2 Managed Servers which option I need to use DataSources or MultiData Sources. I may be wrong I do not know I`m new to clusters and weblogic but I`m very happy that after 2 days I was able to do all this :).
Any help is much appreciated.
Thank you.Do you have any rewrites configured in Apache?
This (Middleware Snippets: Session Management Using WebLogic 12c) includes some examples to configure the WebLogic plug-in.
LoadModule weblogic_module modules/mod_wl.so
<IfModule weblogic_module>
ConnectTimeoutSecs 10
ConnectRetrySecs 2
DebugConfigInfo ON
WLSocketTimeoutSecs 2
WLIOTimeoutSecs 300
Idempotent ON
FileCaching ON
KeepAliveSecs 20
KeepAliveEnabled ON
DynamicServerList ON
WLProxySSL OFF
</IfModule>
<Location /SessionTest>
SetHandler weblogic-handler
WebLogicCluster <%= @WEBLOGIC_CLUSTER_ADDRESS %>
</Location>
<Location /SpringHibernate>
SetHandler weblogic-handler
WebLogicCluster <%= @WEBLOGIC_CLUSTER_ADDRESS %>
</Location> -
How to setup a Cluster of 3 servers on weblogic 9.2?
I'm trying to setup a cluster of 3 servers on WebLogic 9.2 on one physical computer.
I managed to startup 3 servers from cmd in windows like this:
startmanagedweblogic BiPublisher1 http://127.0.0.1:7101
startmanagedweblogic BiPublisher2 http://127.0.0.1:7101
startmanagedweblogic BiPublisher3 http://127.0.0.1:7101
Now I can open each of the 3 servers directly from my browser:
http://127.0.0.1:8101/xmlpserver
http://127.0.0.1:9101/xmlpserver
http://127.0.0.1:9501/xmlpserver
My questions are:
How to setup servers so that I can start them automatically from administration console?
How to configure address in administration console through which I will open my application in a browser?
And after that, how to configure that when server on which I work breaks, it automatically restarts application in another server (no need for failover because BI Publisher does not support session replication, I think)?
Do I need machine and virtual host, and what is their purpose? Node manager? Can somebody explain those things? What i did wrong?
I made this in administration console:
Administration console:
SERVERS:
AdminServer:
Name: BIPublisherServer
Listen address: 127.0.0.1
Listen port: 7101
Server1:
Name: BIPublisher1
Machine: tp43
Cluster: BiPublisherCluster
Listen address: 127.0.0.1
Listen port: 8101
Server2:
Name: BIPublisher2
Machine: tp43
Cluster: BiPublisherCluster
Listen address: 127.0.0.1
Listen port: 9101
Server3:
Name: BIPublisher3
Machine: tp43
Cluster: BiPublisherCluster
Listen address: 127.0.0.1
Listen port: 9501
CLUSTERS:
Cluster: BiPublisherCluster
Multicast Address: 237.0.0.101
Multicast port: 8050
VIRTUAL HOSTS:
Name: bicluster
Virtual Host Names: 127.0.0.1
Targets: Clusters: BiPublishercluster: All servers in the cluster
MACHINES:
Name: tp43
DEPLOYMENTS:
Name: xmlpserver
Path: C:\BiPub\xmlpserver.war
Targets: Virtual Hosts: biclusterYou have some reading to do to increase your familiarity with cluster / managed servers.
How to setup servers so that I can start them automatically from administration console?Add the 3 servers into your cluster. Use the cluster to start and stop all 3 servers from within the console instead of starting / stopping each server individually.
How to configure address in administration console through which I will open my application in a browser?You'll need some sort of load balancer to direct traffic so that the end user doesn't have to know the server/port combinations. Apache + Weblogic plugin for instance, but I don't think you'll be keeping all 3 instances on the same physical machine as your production design.
And after that, how to configure that when server on which I work breaks, it automatically restarts application in another server (no need for failover because BI Publisher does not support session replication, I think)?Target your application to "All servers in the cluster". You should have your managed instances on separate physical machines since your current configuration is vulnerable to a single machine failure which would shutdown all 3 instances. -
ACFS recomandations for weblogic cluster
Hi,
Can some one help me to findout material(step by step) for ACFS usage with weblogic clustering.
Originally I started thread here :
Re: ACFS recomandations for weblogic cluster
Thanks in advance for valuable time
DatlaThe first question you need to ask yourself is for what purpose do i need this type of filesystem when using a WebLogic Cluster?
The first which comes to mind is the migration of so-called singleton service, such as JMS Servers, persistence stores and JTA.
For example, when a machine fails, we must bring the services, running on the failed machine, up on other machines. The JTA
service plays a critical role in recovery from a failure scenario where transactions are involved. In-flight transactions can hold locks
on underlying resources. If the transaction manager is not available to recover these transactions, resources may hold on to these
locks for a long time. This makes it difficult for an application to function properly. JTA service migration is possible only if the server's
default persistent store (where the JTA logs are kept) is accessible to the server to which the service will migrate.
This where a shared storage mechanism comes into play - to store files which need to be accessible from every server. The concept
of ACFS which is useful in this scenario is the mount model (http://download.oracle.com/docs/cd/E14072_01/server.112/e10500/asmfilesystem.htm#CACJGEAC)
To set-up a mount point you can follow the steps presented here: http://download.oracle.com/docs/cd/E15051_01/wls/docs103/cluster/service_migration.html#wp1049463
This link contains the steps in order to configure JMS migration: http://download.oracle.com/docs/cd/E15051_01/wls/docs103/cluster/service_migration.html#wp1065826
This link contains the steps in order to configure JTA migration: http://download.oracle.com/docs/cd/E15051_01/wls/docs103/cluster/service_migration.html#wp1054024 -
Problem configuring front end host for weblogic cluster
hi,
I am using weblogic 8 sp4,I have a cluster of WLI servers for which i am trying to configure a front end host.I am using apache Http server 2.0.55 for the same.
I copied the mod_wl_20.so file to the modules directory and added the following to httpd.conf file
LoadModule weblogic_module modules/mod_wl_20.so
<IfModule mod_weblogic.c>
WebLogic http://myIP:9191,http://myIP:9192,http://myIP:9193
ErrorPage http://myerrorpage1.mydomain.com/
MatchExpression *.jsp
MatchExpression *.xyz
</IfModule>
<Location /weblogic>
SetHandler weblogic-handler
PathTrim /weblogic
</Location>
however,the error page gets displayed and not the default weblogic page.
When I change the Error page url to that of my cluster url(i.e)http://myIP:9191, the weblogic default page gets displayed .. I mean to say that the same url doesnot work with the WeblogicCluster parameter but works with
the ErrorPage parameter.
Somebody who has configured the front end host using apache http server please clarify, it would be of great help.
Thanks in advanceThe error.log displays the following (sorry i forgot to add it above :-()
[Thu Nov 24 15:46:40 2005] [notice] Apache/2.0.55 (Unix) configured -- resuming normal operations
[Thu Nov 24 15:46:56 2005] [error] Port number specified in WebLogicCluster parameter specified in httpd.conf is not an integer less than 65535
[Thu Nov 24 15:46:56 2005] [error] CONFIG_ERROR [line 1344 of ap_proxy.cpp]: Port number specified in WebLogicCluster parameter specified in httpd.conf is not an integer less than 65535 -
How to setup weblogic cluster in 6.1 SP4
Hi All,
I have a Licensed weblogic in my solaris servers. I need to test weblogic clustering
. How can i simulate weblogic clustering is there is any easy steps to do that
and what should i do in order to make my EJB`s cluster aware. And some ppl say
that i need to take a seperate weblogic cluster license other than the weblogic
license.Kindly help me in proceeding further
Thanks in advance
Bala.J
Hi
I have same problem at beforetime.
You can do follow:
Step 1:
copy rt.jar form JDK 1.2.1\jre\lib\jar
to J2EE1.2.1\lib\system\
Step 2:
Set J2ee_classpath = c:\j2ee1.2.1\lib\system\rt.jar
Step 3:
Restart computer and J2ee
You can try it
Help can help you
David -
Having issue with start weblogic cluster with tangosol cluster
Hi,
Oracle Coherence Version 3.3.1/389p1
Grid Edition: Development mode
We are using Weblogic 8.1.5 with Tangosol 3.3.1 on Linux servers.
And we added the initializing logic in the servlet's init() method to get all NamedCaches and put into the ServletContext.
When we start weblogic cluster, the first weblogic member will startup successfully with following messages :
<Nov 7, 2007 10:12:30 AM EST> <Info> <HTTP> <BEA-101047> <[2007-11-07 10ServletContext(id=259640596,name=clusterqa,context-path=)] initObjects: init>:12:31.565 Oracle Coherence 3.3.1/389p1 <Info> (thread=Main Thread, member=n/a): Loaded operational configuration from resource "zip:/home/server/clusterqa/wls81/DOCVIEW/docqa1/.wlnotdelete/extract/docqa1_DOC_clusterqa/jarfiles/WEB-INF/lib/coherence.jar!/tangosol-coherence.xml"
2007-11-07 10:12:31.598 Oracle Coherence 3.3.1/389p1 <Info> (thread=Main Thread, member=n/a): Loaded operational overrides from file "/home/www/WEB-INF/lib/tangosol-coherence-override.xml"
Oracle Coherence Version 3.3.1/389p1
Grid Edition: Development mode
Copyright (c) 2000-2007 Oracle. All rights reserved.
2007-11-07 10:12:31.938 Oracle Coherence GE 3.3.1/389p1 <Info> (thread=Main Thread, member=n/a): Loaded cache configuration from file "/home/www/WEB-INF/lib/pub-search-cache-config.xml"
2007-11-07 10:12:31.983 Oracle Coherence GE 3.3.1/389p1 <Info> (thread=Main Thread, member=n/a): sun.misc.AtomicLong is not supported on this JVM; using a synchronized counter. Though safe to ignore, you may upgrade to BEA's 1.5 JVM to fix this issue.
2007-11-07 10:12:33.267 Oracle Coherence GE 3.3.1/389p1 <Warning> (thread=Main Thread, member=n/a): UnicastUdpSocket failed to set receive buffer size to 1428 packets (2096304 bytes); actual size is 89 packets (131071 bytes). Consult your OS documentation regarding increasing the maximum socket buffer size. Proceeding with the actual value may cause sub-optimal performance.
2007-11-07 10:12:34.118 Oracle Coherence GE 3.3.1/389p1 <D5> (thread=Cluster, member=n/a): Service Cluster joined the cluster with senior service member n/a
2007-11-07 10:12:37.508 Oracle Coherence GE 3.3.1/389p1 <Info> (thread=Cluster, member=n/a): Created a new cluster with Member(Id=1, Timestamp=2007-11-07 10:12:33.323, Address=10.5.176.86:8088, MachineId=48982, Edition=Grid Edition, Mode=Development, CpuCount=4, SocketCount=2) UID=0x0A05B056000001161AAB782BBF561F98
2007-11-07 10:12:37.736 Oracle Coherence GE 3.3.1/389p1 <D5> (thread=Invocation:Management, member=1): Service Management joined the cluster with senior service member 1
2007-11-07 10:12:38.168 Oracle Coherence GE 3.3.1/389p1 <D5> (thread=DistributedCache, member=1): Service DistributedCache joined the cluster with senior service member 1
<Nov 7, 2007 10:12:38 AM EST> <Info> <HTTP> <BEA-101047> <[ServletContext(id=259640596,name=clusterqa,context-path=)] xslProcessor: init>
But trying to start the second weblogic member server, the startup process is stucked after tangosol cache initialization and the second weblogic member server never up running. Please see following messages :
<Nov 7, 2007 9:49:38 AM EST> <Info> <HTTP> <BEA-101047> <[ServletContext(id=153019550,name=clusterqa,context-path=)] initDSNames: init>
<Nov 7, 2007 9:49:42 AM EST> <Info> <HTTP> <BEA-101047> <[ServletContext(id=153019550,name=clusterqa,context-path=)] initObjects: init>
2007-11-07 09:49:43.156 Oracle Coherence 3.3.1/389p1 <Info> (thread=Main Thread, member=n/a): Loaded operational configuration from resource "zip:/home/server/clusterqa/wls81/DOCVIEW/docqa2/.wlnotdelete/extract/docqa2_DOC_clusterqa/jarfiles/WEB-INF/lib/coherence.jar!/tangosol-coherence.xml"
2007-11-07 09:49:43.188 Oracle Coherence 3.3.1/389p1 <Info> (thread=Main Thread, member=n/a): Loaded operational overrides from file "/home/www/WEB-INF/lib/tangosol-coherence-override.xml"
Oracle Coherence Version 3.3.1/389p1
Grid Edition: Development mode
Copyright (c) 2000-2007 Oracle. All rights reserved.
2007-11-07 09:49:43.528 Oracle Coherence GE 3.3.1/389p1 <Info> (thread=Main Thread, member=n/a): Loaded cache configuration from file "/home/www/WEB-INF/lib/pub-search-cache-config.xml"
2007-11-07 09:49:43.571 Oracle Coherence GE 3.3.1/389p1 <Info> (thread=Main Thread, member=n/a): sun.misc.AtomicLong is not supported on this JVM; using a synchronized counter. Though safe to ignore, you may upgrade to BEA's 1.5 JVM to fix this issue.
2007-11-07 09:49:44.829 Oracle Coherence GE 3.3.1/389p1 <Warning> (thread=Main Thread, member=n/a): UnicastUdpSocket failed to set receive buffer size to 1428 packets (2096304 bytes); actual size is 89 packets (131071 bytes). Consult your OS documentation regarding increasing the maximum socket buffer size. Proceeding with the actual value may cause sub-optimal performance.
2007-11-07 09:49:45.419 Oracle Coherence GE 3.3.1/389p1 <D5> (thread=Cluster, member=n/a): Service Cluster joined the cluster with senior service member n/a
2007-11-07 09:49:45.555 Oracle Coherence GE 3.3.1/389p1 <Info> (thread=Cluster, member=n/a): Failed to satisfy the variance: allowed=16, actual=47
2007-11-07 09:49:45.555 Oracle Coherence GE 3.3.1/389p1 <Info> (thread=Cluster, member=n/a): Increasing allowable variance to 19
2007-11-07 09:49:46.040 Oracle Coherence GE 3.3.1/389p1 <Info> (thread=Cluster, member=n/a): This Member(Id=2, Timestamp=2007-11-07 09:49:45.69, Address=10.5.176.85:8088, MachineId=48981, Edition=Grid Edition, Mode=Development, CpuCount=4, SocketCount=2) joined cluster with senior Member(Id=1, Timestamp=2007-11-07 09:45:10.205, Address=10.5.176.86:8088, MachineId=48982, Edition=Grid Edition, Mode=Development, CpuCount=4, SocketCount=2)
Could you please explain why it happens, and what should I do to resolve this issues ?
Many Thanks,
BingHi, Gene
Thank you for the response. I will send you our full log files and thread dumps.
I just want to give you more details about our cases :
1. This only happened without starting cache servers (com.tangosol.net.DefaultCacheServer).
2. And our application which are running on weblogic cluster will just call "CacheFactory.getCache("XXX")", and running as the Tangosol DataClient.
3. All weblogic member servers will be up running successfully if our cache servers are up running.
Also I tried to test another case :
Suppose all weblogic instances and cache server instances are up running. Now I trying to restart (kill weblogic instance process and restart) one of the weblogic member, It will up running successfully only if add some sleep times after killing weblogic processes and restarting it. Looks like tangosol cluster need certain time to aware the member has left cluster, then the restart process will be successful.
Questions :
1. Should we start our weblogic cluster only after cache server cluster is up running ?
2. How do we decide how many time we should wait before start new process to join the cache cluster ?
Could you please help to explain this one for me and let us if there anyway we can do to avoid the problem.
Many Thanks !!!
Bing -
Single sign-on in weblogic cluster?
I am using wls 7.0 sp1 that form a cluster by two managed servers each at different
physical machine.
In front of the servers, a hardware load-balancer providing a virtual ip that
mapped to the real ip of the 2 machines.
I deployed a web application to the cluster. The html & jsp files are all protected
by Form Based Authorization.
My expectation is, whenever I sign-on to the first managed server, the login credential
should also be valid for the second managed server.
But it is not the case.
My situation is:
- open brower with url: http://virtual.ip:7001/admin.jsp
- the load balancer map the request to my first managed server.
- the response from the first managed server prompt the login page for username
and password.
- after POST the information, my target admin.jsp page display properly.
- when I click the link within the admin.jsp page, eg. http://virtual.address:7001/status.jsp
there is two possibilities:
1. the load balancer route the request to the first managed server and everything
well.
or
2. the load balancer route the request to the second managed server and response
with login page again.
The second case is definitely not what I expected.
Question:
Is it the default behavior of Weblogic cluster on the single sign-on? I think
my login is against a WLS domain (at least a cluster), not to a specific web server!
Any comments are welcome.
Note my answer is not directly related to your question, but it might help.
From my experience to configure WL cluster with hardware load balancer, the session
stick (layer 7 switch) should be used (either using the session cookie, or ServerID
cookie). That is, unless one instance is down, all requests from the same session
are better go to the same server. I ever tried round-robin or random load balance
policy at hardware load balancer without session stick, and the result was as
disappointing as you have seen.
"franky c." <[email protected]> wrote:
>
>
>I am using wls 7.0 sp1 that form a cluster by two managed servers each
>at different
>physical machine.
>In front of the servers, a hardware load-balancer providing a virtual
>ip that
>mapped to the real ip of the 2 machines.
>I deployed a web application to the cluster. The html & jsp files are
>all protected
>by Form Based Authorization.
>
>My expectation is, whenever I sign-on to the first managed server, the
>login credential
>should also be valid for the second managed server.
>
>But it is not the case.
>
>My situation is:
>- open brower with url: http://virtual.ip:7001/admin.jsp
>- the load balancer map the request to my first managed server.
>- the response from the first managed server prompt the login page for
>username
>and password.
>- after POST the information, my target admin.jsp page display properly.
>- when I click the link within the admin.jsp page, eg. http://virtual.address:7001/status.jsp
> there is two possibilities:
> 1. the load balancer route the request to the first managed server
>and everything
>well.
> or
> 2. the load balancer route the request to the second managed server
>and response
>with login page again.
>
>The second case is definitely not what I expected.
>
>Question:
>Is it the default behavior of Weblogic cluster on the single sign-on?
>I think
>my login is against a WLS domain (at least a cluster), not to a specific
>web server!
>
>
>Any comments are welcome.
>
>
-
Hi,
I am using Patchset3 (JDeveloper 11.1.1.4/ weblogic server 10.3.4). I was wondering how i can remote debug with
a) weblogic managed server that is part of a weblogic cluster
b) the cluster itself that contains multiple managed servers.
Note that i do understand how to remote debug against a weblogic server (e.g. http://jdeveloperfaq.blogspot.com/2009/12/faq-4-how-to-remote-debug-adf.html), but have not been able to find out how i can achieve this against a cluster that has multiple managed servers. Any directions will be appreciated.
Thanks,Hi,
haven't tried it but here are some suggestions that might be of help:
1) Each managed server for each cluster node should be setup for remote debugging. This means that each managed server must be started with the -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n* options in the WebLogic start-up script. Also Tunneling must be enabled for each managed server for each cluster node.
2) Make sure that you specify a different connection port for each managed server. This is indicated by the address* specifier above.
3) It seems logical to me that you will need to start separate instances of JDeveloper - one for each managed server that you need to attach to.
Let us know how it turns out,
Nick -
Apache Proxy Plugin with SSL in Weblogic Cluster
Hi,
I have configured a weblogic cluster and configured SSL. Then I configured the apache plugin to work with the cluster machines with non ssl and worked succesfull but when I configured the ssl communication between apache and weblogic I´m having problems.
The actual configuration is:
<Location /spmlws>
SetHandler weblogic-handler
WLLogFile /var/log/httpd/tmpweblogic1.log
DebugConfigInfo ON
Debug ALL
KeepAliveEnabled ON
KeepAliveSecs 15
WebLogicPort 7002
SecureProxy ON
TrustedCAFile /opt/freeware/etc/httpd/conf/trustedCA35cert.pem
TrustedCAFile /opt/freeware/etc/httpd/conf/trustedCA36cert.pem
WLProxySSL ON
RequireSSLHostMatch false
WebLogicCluster machine35:7002,machine36:7002
EnforceBasicConstraints false
</Location>
The problem is that the plugin always takes the last TrustedCAFile. In this way if machine36 is down the plugin tries to send all the request to machine35 but it takes the TrustedCAFile for the machine36 (/opt/freeware/etc/httpd/conf/trustedCA36cert.pem) hence the apache complains
[Wed Jun 30 11:13:56 2010] [error] [client 10.19.232.249] ap_proxy: trying GET /spmlws/OIMProvisioning at backend host '10.19.232.97/7002; got exception 'WRITE_ERROR_TO_SERVER [os error=0, line 796 of ../nsapi/URL.cpp]: '
What can I do to have multiple TrustedCAFile or to have working the communication between apache and weblogic cluster using SSL?
thanks in advanceAcording to the documentation this is not possible.
One way to achieve the load balancing of n-weblogic servers in cluster using ssl is to configure de HttpClusterServlet. -
Singleton Classes in Weblogic cluster
Hi
Our application is having singleton classes which we refresh programatically ;though very rarely. We need to move our application into a weblogic cluster. The sigleton class refresh also needs to reflect across the servers :
I could see the SingletonService API here http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13941/weblogic/cluster/singleton/SingletonService.html. This contain an activate() and deactivate() .Can we call this activate() method to refresh the singleton object whenever there is a refresh required ? Can we define multiple singleton service classes in the cluster ?
Thanks
SuneeshI've same issue with singleton service...
1) I’ve created a cluster MyCluster with Man1 & Man2 managed instances.
2) I’ve created singleton.jar out of TestCache.java, which is a singleton cache and have deployed it to the MyCluster.
3) I’ve created man.jar out of StartupClassMan.java, which is a startup class and have deployed it to the MyCluster. And I’ve specified this as startup class for the whole MyCluster.
4) For MyCluster, I’ve specified com.mytest.TestCache.class as singleton service with preferred server as Man1 with migratable to Man2.
5) I run Man1, startup class StartupClassMan is invoked and it gets reference to TestCache, populates the cache & prints size as 1.
6) Now when I run Man2, startup class StartupClassMan is invoked and it get references to TestCache & populates the cache & prints size as 1 only.
For some reason, TestCache is not considered as true singleton. If it is true singleton, running Man2 should have printed size 2 as Man1 has already put one entry into the cache.
And I also don't see activate & deactivate method being called when I run Man1 or Man2 servers. Any help on this is really appreciated.
package com.mytest;
import java.util.Map;
import java.util.HashMap;
public class TestCache implements weblogic.cluster.singleton.SingletonService
private static TestCache testCache = new TestCache();
private Map<String, String> mapCache = new HashMap<String, String>();
private TestCache() {}
public void activate() {
System.out.println("TestCache activate called");
public void deactivate() {
System.out.println("TestCache deactivate called");
public static TestCache getTestCache() {
return testCache;
public void put(String key, String value) {
mapCache.put(key, value);
public String get(String key) {
return mapCache.get(key);
public void remove(String key) {
mapCache.remove(key);
public int size() {
return mapCache.size();
package com.mytest;
public class StartupClassMan
public static void main(String args[]) {
System.out.println("StartupClassMan loaded");
TestCache testCache = TestCache.getTestCache();
testCache.put("Man1","Man1");
System.out.println("size: "+testCache.size());
} -
Issue listeneing queue from Weblogic Cluster server with multiple managed server
Haveing issue listeneing queue from Weblogic Cluster server with multiple managed server.
Weblogic Cluster structure is like
Weblogic Cluster01
--ManagedServer01(http://server01.myhost.com:7001)
--ManagedServer02(http://server02.myhost.com:7001)
JMS Servers
JMSserver01 targeting: ManagedServer01
JMSserver02 targeting: ManagedServer02
JMSmodule
ConnectionFactory01 targeting:JMSserver01,JMSserver02
UDQueue01 targeting:JMSserver01,JMSserver02
Uniform Distributed Queue in Monitoring tab showing like this
mysystemmodule!JMSserver01@UDQueue01
mysystemmodule!JMSserver02@UDQueue01
So when I am sending message to any Host(by specifying the provider URL) its distributing equally on both server like
mysystemmodule!JMSserver01@UDQueue01 10
mysystemmodule!JMSserver02@UDQueue01 10
But when try to listen message from these queue, it is listening from one server, for which URL given to connect.
mysystemmodule!JMSserver01@UDQueue01 0
mysystemmodule!JMSserver02@UDQueue01 10
untill I connect to other server by giveing its URL, will not able to access other message left on the queue.
Solutions that tried
1) we have tried give both server URL coma sparated in provider URL
we need to configur same scenario for 5 managed server with 3 listener on other servers.
Do any one have solution for this.You need to have:
1. Consumers connected to each UDQ member
OR
2. If no consumers in some of the members is expected, you can configure Forward Delay (specify the amount of time, in seconds, that a queue member with messages, but with no consumers, will wait before forwarding its messages to other queue members that do have consumers):
http://docs.oracle.com/cd/E12839_01/apirefs.1111/e13952/taskhelp/jms_modules/distributed_queues/ConfigureUDQGeneral.html
For example you can set it to 10 (10s)
Additional Information here:
http://docs.oracle.com/cd/E23943_01/web.1111/e13727/dds.htm#i1314228
http://docs.oracle.com/cd/E23943_01/apirefs.1111/e13951/mbeans/DistributedQueueBean.html?skipReload=true#ForwardDelay
How Does JMS Load Balancing Work with Distributed Queues and Uniform Distributed Queues? (Doc ID 827294.1)
I hope this helps
Best Regards
Luz -
Weblogic cluster for 24x7 environment and a front OHS server
Hi experts,
We are going to set up a reliable J2EE application server environment by using clustering webgoic servers on TWO nodes, and a front OHS https server in DMZ for load balancing.
I am new to weblogic cluster and load balance by OHS. I have visited this forum for Fusion MiddleWare clustering etc. Can some experts share some light on this?
Will our deployment architecture be able to handle the J2EE applications failover? In other word, we can restart one of Weblogic Managed Servers when a new release of J2EE codes are re-deployed without impacting business end users’s usage?
Problems we want to solve:
1. All J2EE applications are available for 24x7 even when new J2EE codes are released and deployed on weblogic Managed Servers ANY TIME, side-by-side deployment and restart a managed server if we need to clean the HTTP cache.
2. The J2EE applications should be accessed by external and internal users with a Single Access Point, like
https://apps.company1.com/j2ee1
https://apps.company2.com/j2ee1
https://apps.company1.com/j2ee2
https://apps.company2.com/j2ee2
All J2EE applications (j2ee1, j2ee2, j2ee3 etc) should be deployed on both of weblogic Servers in a cluster, and pointing to a SAME backend database.
Can some experts share with us the best practices on components and configurations? Thanks.Seems your architecture is like Browser => OHS ( DMZ ) => Weblogic => DB OR Browser => HLB( like bigip ) => OHS ( DMZ ) => Weblogic => DB
Cluster is the solution for load balancing however if you are using OHS for redirection to weblogic then OHS does the load balancing in round robin way. using cluster in this way has a benefit of in case of any one of your managed server is down the OHS will divert connection request to any one of the active managed server ( you have to turn on dynamic list on at OHS ).
http://weblogicserveradministration.blogspot.com/2010/10/load-balancing-in-weblogic-server.html
Failover is something different, if in case any of the any managed server goes down then your user you get the application session from another server but new one, means the the tasks not saved by the users on earlier session will lost. for that yo need to use cluster and then need to enable the session replication. another best option is you can use the coherence web if you are using latest versions of weblogic supporting coherence web. with that you not need to worry on user sessions and you can start any of the managed server anytime without worrying about the user sessions.
http://weblogicserveradministration.blogspot.com/2010/10/manage-http-session-states-session.html
http://weblogicserveradministration.blogspot.com/2011/05/oracle-coherence-37-coherenceweb.html
http://weblogicserveradministration.blogspot.com/2010/11/clustering-part-i.html
another way is, you can use side by side deployment feature in case you don't want shutdown your application completely, with this, old connections and new requests will goes to old application and once new application activated all new requests will come to new application and once all requests on old application will complete that application will retire automatically.
Regards
Mukesh Negi
http://weblogicserveradministration.blogspot.com -
StreamCorruptedException when starting Weblogic cluster
Hi, I have an application running on Weblogic Server 8.1 sp4 in clustered environment. When the cluster is restarted the first server restarts without errors but the second one has the following error message. What does the error message mean? Some messages have disappeared form the JMS queue when the cluster has been restarted. Does this error message have something to do with the disappeared messages?
<29.9.2006 14:09:17 EEST> <Notice> <Cluster> <BEA-000138> <Listening for announcements from cluster Cluster2 on 237.0.0.6:10603.>
<29.9.2006 14:09:17 EEST> <Notice> <Cluster> <BEA-000133> <Waiting to synchronize with other running members of Cluster2.>
<29.9.2006 14:09:47 EEST> <Notice> <Cluster> <BEA-000142> <Trying to download cluster JNDI tree from server CL2Server2.>
<29.9.2006 14:09:54 EEST> <Error> <JMS> <BEA-040368> <The following exception has occurred:
java.io.StreamCorruptedException: Unknown object stream version. 5505025
at weblogic.jms.store.BufferDataInputStream.readObject(BufferDataInputStream.java:167)
at weblogic.jms.store.JDBCIOStream.doRecoverBodies(JDBCIOStream.java:1024)
at weblogic.jms.store.JDBCIOStream.doRecover(JDBCIOStream.java:939)
at weblogic.jms.store.JDBCIOStream.recover(JDBCIOStream.java:1140)
at weblogic.jms.store.JMSStore.recover(JMSStore.java:315)
at weblogic.jms.backend.BEStore.open(BEStore.java:264)
at weblogic.jms.backend.BEStore.start(BEStore.java:151)
at weblogic.jms.backend.BackEnd.openStores(BackEnd.java:1171)
at weblogic.jms.backend.BackEnd.resume(BackEnd.java:1290)
at weblogic.jms.backend.BackEnd.migratableActivate(BackEnd.java:2939)
at weblogic.cluster.migration.MigratableGroup.add(MigratableGroup.java:107)
at weblogic.cluster.migration.MigrationManager.privateRegister(MigrationManager.java:180)
at weblogic.cluster.migration.MigrationManager.register(MigrationManager.java:127)
at weblogic.jms.JMSService.addJMSServer(JMSService.java:2226)
at weblogic.jms.JMSService.addDeployment(JMSService.java:2031)
at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:337)
at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(DeploymentTarget.java:597)
at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(DeploymentTarget.java:575)
at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(DeploymentTarget.java:241)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:754)
at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:733)
at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:509)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1560)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1528)
at weblogic.management.internal.RemoteMBeanServerImpl.private_invoke(RemoteMBeanServerImpl.java:988)
at weblogic.management.internal.RemoteMBeanServerImpl.invoke(RemoteMBeanServerImpl.java:946)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:954)
at weblogic.management.internal.MBeanProxy.invokeForCachingStub(MBeanProxy.java:481)
at weblogic.management.configuration.ServerMBean_Stub.updateDeployments(ServerMBean_Stub.java:7691)
at weblogic.management.deploy.slave.SlaveDeployer.updateServerDeployments(SlaveDeployer.java:1304)
at weblogic.management.deploy.slave.SlaveDeployer.resume(SlaveDeployer.java:347)
at weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.resume(DeploymentManagerServerLifeCycleImpl.java:229)
at weblogic.t3.srvr.SubsystemManager.resume(SubsystemManager.java:131)
at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:966)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361)
at weblogic.Server.main(Server.java:32)Make sure that the JMS server isn't attempting to load a store that was created from a later version of WLS. Also, make sure that no two JMS servers share the same database table - otherwise they will corrupt each-other's data. I think the latter is likely the problem.
Tom -
Error when deploy to weblogic cluster
My cluster has 2 servers A, B. when I deploy an WebCenter Custom Portal application to weblogic cluster, application on server A work well and application on server B is failed. Log on failed server is “what do i do: seems an odd quirk of the EJB spec. The exception is:java.lang.NoClassDefFoundError: Oracle/jdeveloper/db/adapter/DatabaseProvider”
When I reconfig cluster and then deploy, application on server B work well but application on server A is failed.
Please advise what should I do in this situation?Hi,
It seems your Application is running with non-seralizable objects where non-searlizable are not supported on cluster environment.
Please check server logs whether you have such warning messages are not.
Let me know if you need any further help on this issue.
Regards,
Kal
Maybe you are looking for
-
How to tell if an app is "Universal Binary" i.e. Intel-compatible?
I have various freeware and shareware apps on my new MacBook Pro which I "migrated" over from an old PowerBook G4 which I had been using until getting my new MBP last week. To whatever extent possible, I want to avoid using old PowerPC-chip designed
-
A few more questions on upgrading OS
Well, I'm trying to be proactive before I try to upgrade my current mini from tiger to snow leopard os. So far, I've purchased the box set purchased the external hard drive downloaded carbon copy app learned how to do a back up and reboot and run fro
-
Using Adobe Export PDF, I converted a PDF document into MS Word. However, all the images are missing--replaced by black rectangles. How can I fix this? Thanks for any assistance.
-
Can I filter by value which is not displayed in grid columns?
In excel it is possible to filter by value of measure which is not displayed in the report. How can I possibly do this in Performance Point Grid? (in filter by value there I only see the measures in columns). Please advise Namnami
-
Error message for downloading podcasts and music
I will get this message whenever I try to move my podcasts to my ipod. "Some of the items in the iTunes library were not copied to the iPod because they have not been downloaded to this computer". I will right click on each podcast, go to where it sa