What are the causes for out of memory in weblogic?
How can we resolve except by increasing the memory size?
Is there any particular auromated scripts are there to alert the admins before out of memory arrives? If so please provide me.
where we can see the memory args in console?
OutOfMemory investigation is a very huge topic. Some of the related posts are available in http://middlewaremagic.com….still there are a lots of varieties we find in this kind of issues. It is always best to open a Ticket with Vendor Support team in case of any JVM Crash or OutOfMemory analysis. Because it requires a lots of data. Which is collected and analyzed using different tools and java_options.
Can you please let me know WebLogic Threading Model and also please let me know different kind of threads that can be ignored in the thread dump like waiting for request.
Thanks in advance.
Hi Tejaswi,
I will try to develop a Post on Thread Dump Analysis. It’s a very vast topic. I thought of writing a post on it…but every time it got postponed. Soon i will develop a Post on it. The problem is …To explain the Thread Dump analysis i m collecting some good real time Problematic Thread Dumps right now which is taking time.
I m very sorry but right now …we are not moving towards other technologies and Application servers for some more time. But soon we will start eding Postings on Many other technologies as well… including “Web Center”.
Very Sorry for your Inconvenience.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
Yeah – You’re correct.
Everything seem to be default in the console.
Let me explain exactly what’s my issue –
I tried deploying the code , but its failing with error like
Deployment service servlet encountered an exception while handling request of type “app_upload”.
Exception is: “No space left on device”./app/ample.ear’ for application ‘ample’. The specific error is: No application files exist.
So I’ve loggind into the LINUX machine , and observed as /opt filled to 100%
Setup of my project:-
OS : LINUX machines
Domain path : /opt/weblogic/domains
Logs path : /opt/weblogic/logs
What makes my /opt filled 100% ? – observed like particularly this application “ample” writing huge logs as
11G – /opt/weblogic/logs/ample
And we have logs of june , july and present august , SO I’ve cleaned up the logs of june & july – and now /opt down to 70%.
And finally i’m able to deploy the code successfully.
Now the client asked me to rotate the logs like โrotate every 24hrs and store for 7 daysโ – To my understand i think with this rotation , the logs would store upto 7 days only
I am not sure where we can apply this , initially even i observed the console which you have mention here , but thinking can we do it somewhere in server side?
Please let me know incase of clarifications
Thanks
I have an application that is running on Weblogic 9.2.2 on unix platform. The application that i work on interacts with another application to transmit/recieve data over a webservice. My application is using weblogic webservices to generate the client (stubs) code. The application that we interact with has three different webservice calls out of which the client application (My application) is able to unmarshall or de-serialize the webservice response. However the response of one call is unable to be de-serialized.
When i turned on the weblogic webservice debugging and reviewed the incoming soap response which the client application is unable to de-serialize, i found that the namespace prefix is missing from each node.
The response which the client applicaiton is able to de-serialize successfully has the namespace prefix to each and every node of the web service response.
Does weblogic 9.2.2 require a namespace prefix to be present at each and every node. Is there a way for the client application to de-serialize the response correctly even if the namespace prefix is not present in each and every node. I apologize for not giving you any log info. I will update with the log info tomorrow but if i was able to explain the problem clearly any inputs from you experts will be greatly appreciated.
At the client side you can add a WebService Handler with the following code to remove the NameSpaces from the XML message:
Option1). U can force the Stream to use the default Namespace at client side:
HashMap NamespaceMap = new HashMap();
NamespaceMap.put(“http://your.desired.namespace/”, “”);
XmlOptions xo = new XmlOptions();
xo.setLoadSubstituteNamespaces(NamespaceMap);
xo.setUseDefaultNamespace();
System.out.println(yourXmlDoc.xmlText(xo));
Option2). You can add a Name Spce in the XML message at the Client Side Handler…using XMLCursor:
XmlCursor cursor= targetObject.newCursor();
cursor.toNextToken();
cursor.insertNamespace(“myprefix”, “http://my.name.space”);
cursor.insertNamespace(“xsi”, “http://www.w3.org/2001/XMLSchema-instance”);
cursor.dispose();
Thanks Jay for your response. If you don’t mind i would like to understand why should i be writing a handler and why does weblogic not process the weblogic response if the namespace prefix is not included in the soap response.
If you can clarify this it will help me understand the issue better.
Ideally WebLogic generated Clientside artifacts should be able to process both the responses (with or without NameSpaces). But i m surprised that…Why and How the WebService operation is developed in such a way that 2 Operations will have the NameSpaces and 1 operation is without having the NameSpace?
Have u generated the clientartifacts using the “clientgen” utility recently. I just wanted to make sure this because sometimes if we change any NameSpace…then We Must regenerate the Client Artifacts.
Can u please let me know one more thing…your Client Side artifacts are JAXWS or JAXRPC type? WLS9.x doesnt support JAXRPC WebService …but It is Possible to deploy the JAXWS Client in WLS9.x…. So i just wanted to make sure that your ClientSide Artifacts are JAXWS style or JAXRPC Style?
Thanks for the response. I posted a response to your comment but was unable to see it. So attempting to send my follow up questions.
Is there an apparent bug with weblogic 9.2.2 while processing soap responses with out the namespace prefix ? Ideally i don’t want to be writing a Handler to process the incoming response. I am told by the service provider whom we interact with that they are able to process the soap response even though there is no namespace prefix. But they are using axis 1.4.
I would like to understand why weblogic doesn’t parse the incoming soap response without namespace prefix and if there are any alternatives to resolve the issue without writing the handler, i would like to review that.
Hi Jay,
I have always used weblogic’s clientgen to generate the stubs. and as per weblogic documentation it reads “Clientgen Generates the JAX-RPC Service stubs and other client-side files used to invoke a Web Service”
Hi Surya,
Yes, you are right in WLS9.x “clientgen” you wont see any option to generate the JAXWS stype of Artifacts … This feature is available from WLs10 onwards …where you can specify the type=”JAXWS” or type=”JAXRPC” to generate different types of Artifacts for Client.
but i m much interested to know Why & How your WebService has 2 Operations with nameSpace and One Operation without NameSpace…If i will be able to know this then i can try to reproduce this issue at my end to debug this issue.
As mentioned in my original problem, I am just the consumer of the webservice. When i consume the webservice from the webservice provided,
I have observed in the weblogic.out ( after turrning the soap debugging) that one response doesn’t contain the namespace prefix and other contains the namespace prefix
My understanding is that this is a service provider issue. However, i also want to understand why is the soap response not being de-serialized.
Any insight from you will be greatly appreciated.
Webservice response without namespace prefix Log below
<env:Envelope xmlns:env=”http://schemas.xmlsoap.org/soap/envelope/”><env:Header/><env:Body><m:executeBusinessActionResponse xmlns:m=”http://www.openuri.org/”><v03:responseDoc xmlns:v03=”http://www.oriservices.com/creditdecision/v031704″><responseSolitInfo><solicitationInfo><customer id=””><applicantName><firstName>MAURO</firstName><middleName/><lastName>BENEDETTI</lastName><genIdentifier/></applicantName><address><line1>446479 ALTA VISTA WY</line1><line2/><city>DALY CITY</city><zipCode><basic>94014</basic><extended>1111</extended></zipCode><state>CA</state></address><dob/></customer><header><authenticationCode>000</authenticationCode><status>Y</status><solicitationNumber/><sourceCode1>D3BK</sourceCode1><sourceCode2>DFLT</sourceCode2><sourceCode3>DFLT</sourceCode3><sourceCode4>DFLT</sourceCode4><cellCode>6WK</cellCode><sourceListCode1/><sourceListCode2/><remail1>DFLT</remail1><remail2>DFLT</remail2><remail3>DFLT</remail3><remail4>DFLT</remail4><second1>DFLT</second1><second2>DFLT</second2><second3>DFLT</second3><second4>DFLT</second4></header></solicitationInfo></responseSolitInfo></v03:responseDoc></m:executeBusinessActionResponse></env:Body></env:Envelope>
Webservice response with namespace prefix. Log below
I am unable to post the request and response even after following the instructions. Is there an email id that i can send the webservice response that i recieve from the service provider..
I have sent you a TestMail in your Gmail address. You can reply to that with your SOAP Request/Response text. I was just wondering if you can send me the WSDL file of yours then it will be really great. I will try to Generate a Mock WebService from that WSDL to see WHy & How the Name Spaces are available for 2 Operations but not for the Third Operation.
——————————————–
package ws;
import javax.jws.WebService;
import weblogic.jws.*;
@WebService( serviceName=”ACSService”, targetNamespace=”http://www.openuri.org/”, endpointInterface=”ws.ACSServiceSoap”)
@WLHttpTransport(contextPath=”ACSService”,serviceUri=”ACSService.jws”,portName=”ACSServiceSoap”)
public class ACSServiceSoapImpl implements ACSServiceSoap {
public ACSServiceSoapImpl() {
}
public com.oriservices.creditdecision.v031704.ResponseDoc executeBusinessAction(com.oriservices.creditdecision.v031704.ActionDoc actionDoc)
{
return null;
}
}
——————————————–
I can see only one Operation (Method) generated using the WSDLC task. Are u sure that u are using the Correct WSDL? I am sending you the ANT file which i used to generate the MOCK Service from your WSDL. Attached in the Mail…
Please run the “setWLSEnv.sh” before running the ANT script attached.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
Customer is facing Slow WLST Response on WLS 9.2 mp2,
If he undeploys the application from the console, it takes 1 minute, the same application takes 15 minutes from WLST to undeploy. Issue is occuring in production.
The same does not happen in their test environment,
The following config (config.xml) in the managed server, when added to our testing environment (which originally only exists in production env.), slowed down the undeployment process from 1 minute to over 15 minutes:
There is nothing wrong with the WLST or WebLogic Server. We need to perform the OS tunning in this case. Please tune the following two Parameters at OS level: (Compare the following Parameters in your Both the Environments at OS level…)
1). Disk I/O
2). Swap Space
3). Increase the FileDescriptor Numbers (to Minimum of 8196 using “ulimit -n”)
WLST loads many classes and connects to the remote server to depoy/Undeoploy applications. Which requires sufficient File Descriptors to be available.
Hello Jay,
As per the script( you gave me on oracle forum to create window service of weblogic 10.3.3) the make the service name like –beasvc ClassicDomain_Weblogic Server. But it do not start and gives message that “The beasvc ClassicDomain_Weblogic Server sevice on local computer is started and then stopped. Some Services stop automatically if they don’t have to do…..????
Hi Vivek,
Please post your Install Windows Service script. Looks like there is something wrong. Also Make sure that the Windows Service name is correct. It means the WindowsService naming convention is “%DOMAIN_NAME%_%SERVER_NAME%”
Example Syntax :
“%WL_HOME%serverbinbeasvc” -install
-svcname:”beasvc %DOMAIN_NAME%_%SERVER_NAME%”
-depend: “beasvc myDomain_myAdminServer”
-delay: “800”
-javahome:”%JAVA_HOME%” -execdir:”%USERDOMAIN_HOME%”
-extrapath:”%WL_HOME%serverbin” -password:”%WLS_PW%”
-cmdline:%CMDLINE%
.
.
Keep Posting ๐
Thanks
Jay SenSharma
I was trying to migrate an application from 9.2 to 10.0 in development env in windows 2K Server, std edition.
When i do
java weblogic.appc app.ear
i get this following message
and when i try to deploy the app and try to start it from the admin console, i get this error
[HTTP:101216]Servlet: “SaaServlet” failed to preload on startup in Web application: “/SAA”. java.lang.NullPointerException at com.nvd.saa.SaaCache.hashSQL(SaaCache.java:333) at com.nvd.saa.SaaCache.loadCache(SaaCache.java:245) at com.nvd.saa.SaaServlet.init(SaaServlet.java:572) at javax.servlet.GenericServlet.init(GenericServlet.java:241) at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:282) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(Lweblogic.security.acl.internal.AuthenticatedSubject;Lweblogic.security.acl.internal.AuthenticatedSubject;Ljava.security.PrivilegedAction;)Ljava.lang.Object;(Unknown Source) at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:63) at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58) at weblogic.servlet.internal.StubLifecycleHelper.(StubLifecycleHelper.java:48) at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:504) at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1830) at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1807) at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1727) at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2890) at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:948) at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:353) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60) at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200) at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60) at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:26) at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212) at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:154) at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80) at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:566)
Hi Rakesh,
If you will see the below line of Exception: java.lang.NullPointerException at com.nvd.saa.SaaCache.hashSQL(SaaCache.java:333) Which clearly indicates that the NullPointerException is being thrown by your Application Code “SaaCache.java” at line number 333. So first of all you need to put some System.out.println() statements before and after that line of code to findout which object is actually becoming NULL. Then only you will be able to find out why the Object is Becoming NULL. As this error has nothing to do with WebLogic …your Application Developers will be able to Find out the cause.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
I am unable to start managed servers in weblogic 10.0 in development env in windows.
I have created managed servers from both the config wizard and also through admin console and assigned them to clusters. First time they start normally to RUNNING MODE. But after a few seconds, it changes to FAILED. And when i start again, they stay in FAILED state itself.
I never had a problem in weblogic 8.1, but 10 seems to be different.
I have assigned both the managed servers to the same machine and also to the cluster.Didn’t assign the admin server to any machine or cluster.
Also, i get this following message in the admin server command prompt.
one of our managed server in a cluster crashed generating core and err pid file.Can you please brief out different ways to analyse core file generated in unix to find out culprit for crash..
We have 1 cluster with 2 managed server running on the same box.We use HP openview to monitor the state of the servers.SO whenever any one of server goes down, we get an email alert and then we manually restart them.The problem is we want to automate this problem. I mean whenever any instance goes down and Hpopenview detects it ,servers should be started automatically.
Thanks Jay again, for the prompt response. I did send the request to development to check if they are using the latest log4j jar file.
As far as the load on this server box, this is a development environment and it never had any peak loads. The heap is almost always 70% free. We use 1GB as heap size for each JVM and we have 2 JVMS in the same box.
You people have made somethings so easy for my new job. I learnt quite a bit from this website. Have few questions in WebLogic. I will post one by one.
We use a log4j.properties file instead of a log4j.xml file for logging. The log4j.properties file is placed in a location on the server and that path is added to the Weblogic classpath for it to load at startup.
The log4j logs are written sometimes and are not written sometimes to the output.log file. THIS IS MY ISSUE.
This development environment has been in use for over 2 years and the developers are saying we are seeing this issue recently. We are using WebLogic 9.2 MP3 on Solaris.
Here is a copy of our log4j.properties file. Hopeful you can spare some time for my issue.
Hi Nagapavan,
Your “log4j.properties” file looks very good, I don’t see any issue in that. WebLogic Allocates some threads for logging may be sometime due to heavy load on the Application/Server some logs are not getting logged. Have u observed any such scenario when there was load on the Server and Logging didnt happened at your environment? Or Is it happening when the Operating System has a High I/O count?
How frequently this issue is happening? Have u tried to update the log4j.jar and it’s related Jars…I mean have u tried with the latest log4j Jars? Because configuration wise i really don’t see any issue.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
Hello Admins, im facing this issue when i try to Stop my app from weblogic console
Issue: Failure on stop deployment
WLS: 10.2
.:: postStop() llamado desde ApplicationListener ::.
<Nov 11, 2010 4:31:28 PM CLST> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1289503887961' for task '13'. Error is: 'weblogic.application.ModuleException: Exception activating module: EJBModule(AlertasEJB.jar)
Unable to deploy EJB: ReporteBean from AlertasEJB.jar:
null
'
weblogic.application.ModuleException: Exception activating module: EJBModule(AlertasEJB.jar)
Unable to deploy EJB: ReporteBean from AlertasEJB.jar:
null
at weblogic.ejb.container.deployer.EJBModule.activate(EJBModule.java:440)
at weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:107)
at weblogic.application.internal.flow.DeploymentCallbackFlow$2.next(DeploymentCallbackFlow.java:381)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:71)
Truncated. see log file for complete stacktrace
java.lang.NullPointerException
at weblogic.rmi.cluster.ClusterableRemoteRef.toString(ClusterableRemoteRef.java:387)
at java.lang.String.valueOf(String.java:2615)
at java.lang.StringBuffer.append(StringBuffer.java:220)
at weblogic.rmi.internal.StubInfo.checkRef(StubInfo.java:159)
at weblogic.rmi.internal.StubInfo.<init>(StubInfo.java:63)
Truncated. see log file for complete stacktrace
>
<Nov 11, 2010 4:31:28 PM CLST> <Error> <Deployer> <BEA-149202> <Encountered an exception while attempting to commit the 7 task for the application 'Alertas'.>
Thanx in advance for any help u can provide me about this issue
Hi Mauro,
All I guess at this Moment… It looks like u have some EAR Application in which u implemented some “ApplicationLifeCycleListener” And Your code is trying to Access the EJB Reference inside the preStart() or postStart() method of that Listener. In a Clustered Env when u are trying to stop your Application that time the EJBs are getting undeployed first so the postDeploy() of your Listener may be getting the Null reference of the EJB ….
Above all is my guessing so far from the StackTrace…. U need to check your ApplicationLifeCycleListener. You can check it inside your “<EAR_FILE>META-INFapplication.xml” Is there any Listener defined or Not….If yes then That Listener is actually causing the issue.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
Hi Mauro,
I again lookedup at the Exception Trace … This time i suspect that there may be something wrong with the EJB which is available as part of “AlertasEJB.jar” as well… because i can see that the Deployment (Not undeployment) time exception:
<Nov 11, 2010 4:31:28 PM CLST> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1289503887961' for task '13'. Error is: 'weblogic.application.ModuleException: Exception activating module: EJBModule(AlertasEJB.jar)
Unable to deploy EJB: ReporteBean from AlertasEJB.jar:
1). Is this Jar/Application getting deployed properly in a Non-Clustered Environment?
2). The EJB/EJBs which are placed inside this “AlertasEJB.jar” all the EJBs have been decalered as <home-is-clusterable> And/Or <stateless-bean-is-clusterable> or similar Tags for all the Beans? Inside “weblogic-ejb-jar.xml” file
.
.
Keep Posting ๐
Thanks
Jay SenSharma
Hi Vigaros,
Yes all the WLST Scripts present in middlewaremagic can be used just by copying and pasting it in any suitable editor. As earlier we just uploaded the Screenshot of the WLST Script to to get the Application State, you were not able to use it properly, So now we uploaded the Code version of the same script in the post. http://middlewaremagic.com/weblogic/?p=1473
We have sent you a copy of the same WLST Script in your E-Mail, you can use that as well.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
Generally, the benefits of being able to address larger amounts of memory come with a small performance loss in 64-bit VMs versus running the same application on a 32-bit VM. This is due to the fact that every native pointer in the system takes up 8 bytes instead of 4. The loading of this extra data has an impact on memory usage which translates to slightly slower execution depending on how many pointers get loaded during the execution of your Java program. The good news is that with AMD64 and EM64T platforms running in 64-bit mode, the Java VM gets some additional registers which it can use to generate more efficient native instruction sequences. These extra registers increase performance to the point where there is often no performance loss at all when comparing 32 to 64-bit execution speed.
The performance difference comparing an application running on a 64-bit platform versus a 32-bit platform on SPARC is on the order of 10-20% degradation when you move to a 64-bit VM. On AMD64 and EM64T platforms this difference ranges from 0-15% depending on the amount of pointer accessing your application performs.
The maximum theoretical heap limit for the 32-bit JVM is 4G. Due to various additional constraints such as available swap, kernel address space usage, memory fragmentation, and VM overhead, in practice the limit can be much lower. On most modern 32-bit Windows systems the maximum heap size will range from 1.4G to 1.6G. On 32-bit Solaris kernels the address space is limited to 2G. On 64-bit operating systems running the 32-bit VM, the max heap size can be higher, approaching 4G on many Solaris systems.
As of Java SE 6, the Windows /3GB boot.ini feature is not supported.
If your application requires a very large heap you should use a 64-bit VM on a version of the operating system that supports 64-bit applications.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
Could you please help me with the answer of the following question regarding JDBC connection pool?
Q. I have 10 database connections in my WLS JDBC connection pool with maximum capacity defined as 10. All 10 connections are in use now. What happens if the 11th database connection request comes?
Hi Sanjay,
If Max Capacity of the connection pool is 10, And if all the 10 connection objects are being used by 10 Different clients. Now when the 11th client requests for a database connection from the Datasource …In that case the Client will get “ResourceLimitExceededException” thrown by the Connection Pool.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
You would get some error messages in the log file stating that connection pool has reached maximum capacity of pool, may be with the particular connection pool.
the env is weblogic 9.2.2.0, in windows 2k3 and in windows QA environment.
I am trying to start the admin server. Since the env is QA, after i go to start and bea products and start the admin server, I enter the weblogic username and password at the command prompt,
it loads the license file โlicense.beaโ
then the server state is changed to STARTING
it initializes the self-tuning thread pool and then
it gives the log management,
and after this this there is no processing ahead, it gets stuck there
The ADMIN SERVER isnโt starting. i waited for 1 hour and tried it several times. It didnโt start.
I checked the log files, and what i could notice is that there was only 1 access.log, one AdminServer.log and one Domainsaaqa.log file and these log files are up to 4.5 MB each.
There are no other log files. like access.log070, etc. I am guessing that the log files arent being rotated. Is there a way to correct this ???
so, is this causing the problem or is there any other reason ?
if that is the problem, is there a way to increase/rotate the number of log files ?
if the log file thing is not the reason, then can you please help me out with this issue ?
Hi Rakesh,
Please send us all the contents present inside the “config” directory present inside the “<DOMAIN_HOME>” and also please collect at least 4-5 thread dumps taken in the interval of 9-10 seconds each (Thread dumps must be taken at the time when server is not responding). Also please send us the Admin Server Log Directory contents as well.
E-Mail Address: contact@middlewaremagic.com
We will try to find out some useful informations from the above mentioned files.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
we are frequently facing some issues with the deployments where allof a sudden the deployment goes to admin mode and then fails .
The deployemnet ( SKP.EAR ) all of a sudden changed to admin mode and then failed .
problem Description: we have a deploymnet ( Seraya.ear ) which was deployed in 2 manage servers and suddenly we found that deploymnet failed and when checked the ear file is missing from the stage folders for both manage servers .
weblogic version : 9.2
OS : Sun Solaris 10
<An exception occurred while registering the MBean null.
java.lang.IllegalArgumentException: Registered more than one instance with the same objectName : EMC:ServerRuntime=BusinessServer1,MessageDrivenEJBRuntime=SYPSonicQueueMDBListener_SYP_LOCAL_SUBMISSIONQ_DEST,Name=SYPSonicQueueMDBListener_SYP_LOCAL_SUBMISSIONQ_DEST,ApplicationRuntime=SYPSonicQueueMDBListener,Location=BusinessServer1,Type=EJBPoolRuntime,EJBComponentRuntime=SYPSonicQueueMDBListener new:weblogic.ejb.container.monitoring.EJBPoolRuntimeMBeanImpl@114180f existing weblogic.ejb.container.monitoring.EJBPoolRuntimeMBeanImpl@127670c
at weblogic.management.jmx.ObjectNameManagerBase.registerObject(ObjectNameManagerBase.java:152)
Please help us to fix this recurring issue :
– errors in log files stating " An exception occurred while registering the MBean null. "
We are sorry to say but without restating all the servers the patch would not be applied as because weblogic has already loaded the buggy classes in it’s classloader, thus to we have to restart the servers to let them know that there is a new class which is available and weblogic would load that.
However to avoid the down time for the application in production environment you can use the Rolling Bounce the servers (i.e shut-down one server and then restart it again so that other servers in the cluster can handle the load for the application and then do the same thing with other server one by one)
Note: The patch is only applied to those servers which have been restarted
Hi Vigaros,
“Gurdian” tool is now available to download via a valid support contract with Oracle. It is not publicly downloadable. Once you login to the Oracle Support Portal, The Guardian resource center is located in the knowledge link/tab of My Oracle Support under “Tools and Training” > “Diagnostic Tools”
You must have a current support contract with Oracle for your BEA software in order to download Signature Patterns and Guardian product updates. Sunit has pointed the correct link above.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
Note: Oracle is pleased to announce that Guardian is now available though My Oracle Support effective February 2, 2009, to customers running BEA Software who have an active support contract.
Please go through the link and if you have support license to use Oracle Weblogic Server. You will find the way to get the Gaurdian tool as mentioned in the link.
We have a 16GB RAM and 80 GB hard drive on a VM where weblogic is installed.
So, i increased the memory arguments to 2048m as in -Xms2048m and -Xmx2048m for the domain and while starting the server, it says this error has occurred
Error occurred while initializing the VM
Could not reserve enough space for object heap
could not create the Java virtual machine
so what is the reason for this ???
is this because the maxpermsize is still 128, or something ???
Hi,
In Windows 32 bit Systems you can not assign that much heap. It will start crying at 2GB. Please refer to the post: http://middlewaremagic.com/weblogic/?p=4456
The Theoretical limitation of Maximum Heap size for a 32 bit JVM is upto 4GB. Because of the Memory Fragmentation, Kernel Space Addressing, Swap memory usages and the Virtual Machine Overheads are some factors JVM does not allow us to allocate whole 4GB memory for Heap in a 32 bit JVM. So usually on 32-bit Windows Operating Systems the Maximum can be from 1.4 GB to 1.6 GB.
.
If we want a Larger memory allocation according to our application requirement then we must choose the 64-bit operating systems with 64 bit JVM. 64-bit JVM provides us a larger address space. So we can have much larger Java Heap with the increased number of Threads allocation area. Based on the Nature of your Operating system in a 64 bit JVM you can even set the Maximum Heap size upto 32GB.
Example: -Xms32g -Xmx32g -Xmn4g
.
.
Keep Posting ๐
Thanks
Jay SenSharma
The environment is production, windows 2K3, weblogic 9.2.2.
There is an application called eCounsel in production environment. The application has a login and while people are trying to login into the app, they are getting an error saying that the login has failed.
Below is the error message from the logmessage.out from the server.
12/30/2010 09:19 PM: Logged in user wilcoam1. Client IP Address = 165.140.50.71. User Agent = null.
Help file path = –http://EMVXANTHUS:7005/suite810/help/eCounsel/ecounsel.htm–
Help file path = –http://EMVXANTHUS:7005/suite810/help/eCounsel/ecounsel.htm–
12/31/2010 05:39 PM: Logged in user dawsoma5. Client IP Address = 165.140.50.80. User Agent = null.
Help file path = –http://EMVXANTHUS:7005/suite810/help/eCounsel/ecounsel.htm–
12/31/2010 07:30 PM: Logged in user mujadpa1. Client IP Address = 165.140.50.112. User Agent = null.
12/31/2010 07:31 PM: eCounsel error: The application could not download/display the specified file. The file or its contents were not found in the specified location.
Exception class: java.lang.Exception
Stack Trace:
java.lang.Exception: The application could not download/display the specified file. The file or its contents were not found in the specified location.
at com.bsi.control.document.DownloadDocumentFileCommand.processCommand(Unknown Source)
at com.bsi.control.BaseCommand.execute(Unknown Source)
at com.bsi.control.BaseRedirect.processRedirect(Unknown Source)
at com.bsi.control.BaseRedirect.redirect(Unknown Source)
at com.bsi.servlets.FileDownloadServlet.performTask(Unknown Source)
at com.bsi.servlets.FileDownloadServlet.doGet(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3244)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2010)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1916)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
Hi Rakesh,
It’s a Clear Application error not the WebLogic Issue…see the below method execution which is happening while the error is occuring: com.bsi.control.document.DownloadDocumentFileCommand.processCommand()
So you need to ask your Application Developers to look into the “DownloadDocumentFileCommand.java” class processCommand(). If your developers can put some Debug inside this method to findout from which location it is trying to download the Files, then the issue will be resolved in minutes.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
I am getting an error while trying to start the server.
weblogic.management.managementexception: unable to obtain lock on …………. Server may already be running.
I checked the admin console but it inst showing up.
I wanted to restart the domain. But when i am trying to stop the admin console, it is showing some error.
I was trying to delete the AdminServer.lok file from the tmp folder in the domainservers.
How do i restart my admin server. I cannot get into the admin console as the console isnt working. but one of the applications deployed onto the managed server is working.
here is the layout:
weblogic production env 9,2,3 in windows 2k3 server.
Admin Server is present in one prod server vm, the application is clustered on to other two physical servers.
Thanks for the help in advance. How do i restart my server
Hi Rakesh,
Please send us the Server Log which has “weblogic.management.managementexception: unable to obtain lock on” error in the following address contact@middlewaremagic.com
.
.
Keep Posting:)
Thanks
Jay SenSharma
In the Admin Server.log, its not showing anything. The last activity on it was on Jan 2’nd and after that nothing.
The server is running but i am unable to stop it or restart it.
When i try to stop the server, i cannot as it is showing some error and closing the command prompt automatically. When i try to start it, its showing the lock error and according to some forums, i tried deleting the AdminServer.lok file it is not gettting deleted saying that it is being used by other programs.
There is a node manager service for 9.2.3 running, i tried to stop it and delete the AdminServer.lok file, but i couldn’t delete it.
how do we make an admin server run in background in production server. even though we close the command prompt. I guess we need to set up beasvc, can you help me
HI Rakesh,
You can configure “WINDOWS SERVICE” to run your Server as Windows Service. as described in the following link: http://middlewaremagic.com/weblogic/?p=680….same steps will work for your AdminServer as well.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
is there a way to rename the password in the production environment.
The env is weblogic 9.2, windows production env.
The Admin Server for a domain is running in prod env, but i cannot see the admin console when i start it. when i try to start it from the start menu, it says server lock, which implies the Admin Server is running.
I tried to stop the server, but in order to do that, we need the username and password. But we dont know the password for the admin console for that domain.
Is there a way to change the password, without stopping the server.
like creatinga new user using a script or something so that we can login into the admin console
Hi Rakesh,
You can use the below mentioned steps to Change the Running AdminServers account: Step1). open a Command Prompt and then run โsetDomainEnv.shโ or โsetDomainEnv.cmdโ. Step2). Just for Safety Take a Backup of (C:bea103user_projectsdomains7001_Domainsecurity*DefaultAuthenticatorInit.ldift*) file โฆbecause in the Next Command which we are going to run is going to Create a New File โDefaultAuthenticatorInit.ldiftโ. Step3). In the Command Window Move inside your Domainโs Security DirectoryโฆAnd then Run the Following Command: Example:
C:bea103user_projectsdomains7001_Domainsecurity>java weblogic.security.utils.AdminAccount newAdmin newPassword .
NOTE:- There is a . (DOT) at the end of the Above command which represents the Current Directory. Here you can see that after this command Executes A new โDefaultAuthenticatorInit.ldiftโ file will be created in the Current Directory.
IMPORTANT STEP [This Step 3-A) U Need Not to Follow If you Already Forgot your Admin Credentials]
.
.
Keep Posting ๐
Thanks
Jay SenSharma
because i tried the above process where i know the username and password credentials and then i followed the above process, but the domain logs on only with the previous username and password.
HI Experts,
we have encountered an error while deploying the application to cluster.
”
#####Jan 27, 2011 7:23:35 AM PST# #Error# #Cluster# #vf1.oe.com# #managed1_PRD# #[ACTIVE] ExecuteThread: ‘0’ for queue: ‘weblogic.kernel.Default (self-tuning)’# ##WLS Kernel## ## ## #1296141815788# #BEA-000123# #Conflict start: You tried to bind an object under the name DatabaseSettings in the JNDI tree. The object from -8006252241513890912S:vf2.oe.com:[7021,7021,-1,-1,-1,-1,-1]:bv_fr:managed2_BVPRD is non-clusterable, and you have tried to bind more than once from two or more servers. Such objects can only be deployed from one server.#
i have checked the all mulicast test,it seems to be fine. i am using weblogic 10.3.2
The error code BEA-000123 has the following description
Description:
You tried to bind an object under the name bindName in the JNDI tree. The object bindObject is non-clusterable, and you have tried to bind more than once from two or more servers. Such objects can only be deployed from one server.
Cause
Your cluster is not homogeneous. Two servers in the cluster are providing different services under the same name bindName. If the object is non-clusterable, only one server in the cluster can provide this service.
Action
There are various options.
1. Make the object clusterable.
2. Change the JNDI name of the object under which it is bound.
3. Make sure the object gets deployed only on one server.
4. Deploy the service on all the servers.
However, when you bind it into the JNDI tree, set the replicate bindings property to false.
Hello there admins, its been a while since i post last time…
I have a new question for u related to logging, im using weblogic 10.2
My ear have an app.jar (with ejb3) and a webapp.war and i use log4j for logging in both. My problem is that logs generated in mi webapp.war are not been logged. But logs from app.jar yes… i setup log4j configuration in both applications.
There is some reason why app.jar is registering logs and my webapp.war dont? i really need to register action in webapp.war ๐ but the only thing registering in my webapp.log is when i run the application for the first time, but request to servlets dont.
If u have and example with log4j for and ear with ejb and war logging in separate files i will be very grateful.
Hello felas… looking for answer regarding to my previous question i found the next:
” If you want to use separate log4j configuration files for Web applications and the EJBs, you have to place the Web application’s log4j file in the /WEB-INF/classes folder, and the EJB’s configuration file in the individual .jar files. This way the Web application will have visibility of its own log4j configuration file through its own class loader, and the EJBs will get their log4j configuration file through their individual class loader”
Can u explain me please what it means the next “and the EJB’s configuration file in the individual .jar files” ? should i put the log4j-ejb.properties next to META-INF and WEB-INF folders inside my ejbapp.jar? or inside WEB-INF?
For the record i put log4j.jar inside APP-INF/lib
After that how can i load log4j-ejb.properties and log4j-web.properties inside my java code?
Hi Mauro,
Sorry for replying very late…I was quite busy for couple of days.
Reagarding separate Log4j Logging for different applications …there any many conflict statements present in google. I simple prefer using two separate log4j.xml files for logging my application data.
I developed a Simple Testcase which has a simgle “lig4j.jar” inside “EARAPPAPP-INFlib” and the EAR application contains one EJB Jar and a WebApplication. Both have their own log4j.xml files like “webLog4j.xml” and “ejbLog4j.xml”
I strongly suggest the above technique to generate separate logs ….Please try the TestCase which i uploaded in the following location: http://www.4shared.com/file/7ZQ4sjqn/SeparateLog4j_Logs_ForApps.html
Please lets us know if this is OK for you. It’s working fine for me and maintaining separate logs.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
Hi Pradeep,
Please file a Console Bug with Oracle Support. Also if next time you want to get the correct status of server then try JMX or WLST. Donot trust on Admin Console. Many people have reported similar issue. But Oracle support was not much helpful in this case because this issue is very intermittent means 1/1000 cases.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
Update:
Thanks Jay. I think you are correct. Because once I restarted node-1, the logs got updated. For now, I think the issue is fixed, but, I will surely open a case with oracle to see if they have some kind of fix for this issue.
BTW, did you observer this only in 10.3.0.0 or even in other versions as well???
HI Pradeep,
Once i saw one ticket (when i was in oracle support ) it was raised on WLS10-MP1 for the same issue.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
Not sure where to start a new thread so posting question here
can someone please let me know how to determine the amount of memory that can be used by weblogic server on a host that has say 32 gb ram,or 64 gb ram?
is there a weblogic recommended theorotical calculation formula to figure out this number and ofcourse later on tune the server based on application req?
also, memory calculation based on processor bit size (32, 64 bit processor…i think there is a calculation something like 2 power 32 etc..but forgot the formula) and based on number of processors?
hi jay and team,
I have small problem.I have a war file which has been deployed on weblogic 10.3.3.Its working fine.
The problem is when ever the user logs in to the application and access the database and then logs out from the application.
The thread of the user is still present even though he has logged OUT FROM T^HE APPLICATION.ie the thread for that user never get killed even if he logs out.
Is there any option which needs to be enabled or disabled in weblogic.
Because in a day if 300 -400 user gets logged in.Then at the end of the day,there are 300-400 active threads,even if the seesion is zero..
which is hampering the performance
From WLS 9.x self-tuning threads were introduced which would grow and decrease automatically, depending on the load. So if more users are coming in then more threads would be produced and once WLS notices it that now there is no need of these threads it would get reduces automatically.
However if you need to restrict this feature and want to define a number then you would have to go with workmanager, to get more information on that check out the below link.
Hello Middlewaremagic team,
I am supposed to perform the below task and would need your help how to approach. Could you please help me in migration process.
1) I have weblogic domain “Hello” and 2 managed servers Hello1 and Hello2. Admin server and Hello1 are sitting on IP 172.XX.XX.100 and second managed server Hello2 sitting on 172.XX.XX.101. Now i have to move Admin server and managed server Hello1 to 172.XX.XXX.105. Can you please guide me.
2) Similarly if i am planning to move only second managed server Hello2 to IP 172.XX.XXX.108.. How will i do it…Could you please answer me. Thank you in advance.
Topic: Creating Domain Templates by Using the Domain Template Builder http://download.oracle.com/docs/cd/E13179_01/common/docs103/tempbuild/tempbuild.html#wp1095888
Few things to remember:
1) Few things like JMS file store, log files etc would not be transfered with it, so take a backup of the original domain.
2) You should have WLS installed on the new box (172.XX.XXX.105).
3) Once you create a new domain using the template from the old domain which was having the previous configuration you have to change the startWeblogic.cmd/sh and give DOMAIN HOME with the new domain home on the new box (172.XX.XXX.105)
4) During creating the new domain using the template you can customize few things which you want for the new domain like IP address, Create more servers etc.
Let us know if you need any more help on it would try our best to help you with it.
i have deployed a new war file on weblogic and in this war file, we have a doc file called APP_USER_MANUAL.this doc file is access by clicking on the hyperlink. http://:/appdisk/links/APP_USER_MANUAL.doc. the requirement is that when i click on the link a pop up occurs to open or save the doc file.
Previously this entire application was on tomcat And This functionality used happens in tomcat.
I read some forums that suggests that i need to add the below code in web.xml for accessing ms office tools
doc
application/msword
i tried the above code.Restarted the managed server after changes.But still no results.
Did you notice that the issue is happening only in Internet Explorer and the same thing works fine in FireFox?
Try Fire Fox browser to see if it works fine..For me things are correct in ForeFox and the issue occurring only with IE only. Means only in Internet Explorer only you will see that the Microsoft Word Document/ Microsoft Excel Sheets are directly being displayed in the WebPage on the browser. But in Firefox as soon as you click on the Link which points to a Word Document it Asks us to Open or Download the Word Document.
.
.
Thanks
Jay SenSharma
I am using Weblogic 10.3 and set “compress-html-template” attribute as true in application weblogic.xml file. After that when I access my JSP file from browser I don’t see any improvement in HTML file size rendered on my browser. I also checked it with HTTPWatch tool and not seeing any reduction in received file size even there are spaces, extra lines in rendered HTML file, not sure why.
Hi Fabian,
Please have a look at the below Post regarding “compress-html-template” Tag in weblogic.xml: http://middlewaremagic.com/weblogic/?p=5916
.
.
Keep Posting ๐
Thanks
Jay SenSharma
hi jay,
This is not working in my case.
I have Created WEB-inf folder in my war file.Added web.xml and weblogic.xml.Added the index.html file in
web.xml and added tags in weblogic.xml.But it neva worked for me.
In my war file this index.html page is generated from jsp pages.So is this tag restricted only to static html pages??
HI Fabian,
The Tag โcompress-html-templateโ is only applicable for pure JSP pages which has “*.jsp” extension.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
hi middleware magic team,,
Is node manager important in clustering??
its k na if i start all my managed server on foreground and do clustering??
now im getting this error on node manager
Mar 4, 2011 12:13:03 PM weblogic.nodemanager.server.Handler run
WARNING: Uncaught exception in server handlerjavax.net.ssl.SSLHandshakeException : [Security:090476]Invalid/unknown SSL header was received from peer ofaApp12.mm fsl.com – 172.30.0.12 during SSL handshake.
javax.net.ssl.SSLHandshakeException: [Security:090476]Invalid/unknown SSL header was received from peer ofaApp12.mmfsl.com – 172.30.0.12 during SSL handshake.
at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireException(Unknow n Source)
at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireAlertSent(Unknow n Source)
at com.certicom.tls.record.ReadHandler.fireAlert(Unknown Source)
at com.certicom.tls.record.ReadHandler.getProtocolVersion(Unknown Source )
at com.certicom.tls.record.ReadHandler.checkVersion(Unknown Source)
at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
at com.certicom.tls.record.ReadHandler.readUntilHandshakeComplete(Unknow n Source)
at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake(Un known Source)
at com.certicom.tls.record.ReadHandler.read(Unknown Source)
at com.certicom.io.InputSSLIOStreamWrapper.read(Unknown Source)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
at java.io.BufferedReader.fill(BufferedReader.java:136)
at java.io.BufferedReader.readLine(BufferedReader.java:299)
at java.io.BufferedReader.readLine(BufferedReader.java:362)
at weblogic.nodemanager.server.Handler.run(Handler.java:71)
at java.lang.Thread.run(Thread.java:619)
my node manager status is inactive now
my node manager crashing up with some or the other error everytime i deploy an application
It is not necessary to use node manager to start a cluster and its perfectly fine to use the startup script of Managed server to start a cluster as the given command below
where:
server_name:- is the name of the Managed Server you wish to start
IP-address:- is the IP address or DNS name for the Administration Server for the domain
port:- is the listen port for the Administration Server for the domain
Mar 4, 2011 12:13:34 PM IST Warning Socket BEA-000450 Socket 404 internal data record unavailable (probable closure due idle timeout), event received -32
hi,
Thanks Jay and Ravish..
Im stuck in a small problem.
I have deployed a war file and the application is running fine.Now I have problem is while monitoring the application.Ie i need to find how many users are logged in(this i can find through goin to deployment–>clicking on the war file–>monitoring–>Webapplication–>session)but now how can i find the ipaddress of the user logged into the application.
I checked all the tabs under monitoring,but neva found any.
This command gives all the user accessing the application
netstat -an|grep 7003(managed server port)
but is it possible through console??
This was possible with OAS10g release2,from the console itself
If you want to know the IP-Address of the Client who are hitting your application you can achieve that by going to the below console path
Servers –> -> Logging –> HTTP
Click on the Advanced link and add cp-i in “Extended Logging Format Fields:” and save it.
Example:
cp-i date time cs-method cs-uri sc-status
Now when the client hits your application and then you can get the IP-Address of the client in the access.log which can be found in “/servers/SERVER_NAME/logs”. Note: access.log would not start writing till default size which is 8kb to passes, so you can use following parameter in the start-up script to start writing from the first hit
-Dweblogic.logging.bufferSizeKB=0
And for for session monitoring you can check out the below posts
hi Ravish,
Thanks for that solutions…it worked..thanks again
Now there is a second problem
application war file is deployed in weblogic, where the database connection string is in the war file itself and not comfigured in weblogic server level. everything is working fine. However the problem is that when the connections are established and then closed we get to see the inactive threads (inactive jdbc thin client)collected at database level. And in 20 mins more than 200 threads gets accumulated. We are of the impression that we cannot do anything from weblogic application server level because the connection string is inside the war file and we never configured the database connection string at weblogic server level. please suggest a solution to kills those inactive threads at database level.
Hi middleware team,
Last week i came up with new problem in weblogic,
In my weblogic console,My managed server status is unknown but i was able to access the application deployed on it.
I just restarted my admin server and managed servers,everything back to normal.
just want to ask,Y did the managed server status automatically turned into unknown.
Hi Fabian,
Many times it happens that the AdminServer Loses the contact from NodeManager or with the Managed Server…so in that case it is not able to get the current state of the Managed Server properly and shows the State as UNKNOWN. (It is possible that the Managed Server might be running properly without any issue)…So in such scenario we must check any kind of WARNING messages in Admin/NodeManager/Managed Server Log…As well as we must investigate if there is any kind of Network glitch occurred on the given time stamp.
In Some of the Older versions of WLS (not remember exact version right now) but may be in WLS9.2 and WLS10 similar BUG was found. Investigating this kind of issue is very tough because these kind of issues are very intermittent and occurs once in a couple of months…or more.
.
.
Keep Posting:)
Thanks
Jay SenSharma
I am facing an issue with Unit Of Order feature of Weblogic.I have a distributed Queue(Q1) which sends message to another distributed Queue(Q2).Before sending messages to Q2,I set unitofOrder property to my wlMessageProducer and send the message.
Everthing works in a single managed server.But when It is deployed in a clustered Env, and when we send in messages 1) all the messages are only processed by ManagesServer1’s Q1
2) If any messages made in to managedServer2′ Q1,all those messages fail to write to Q2 on either of the server;they fail with the following exception :
“weblogic.jms.extensions.JMSOrderException: hashed member of jms!Queue2 is jms!JMSServer001@Queue2 which is not available”
I checked both the managed servers and they were running.
These are the steps I followed while configuring the UOO on my distribyuted Queue :
Created a distributed Queue1,left the default values on it.
While sending the messages to the Queue2,I used WlMessageProducer to send messages and I did set the property called setUnitofOrder(passed a String).
On the connection Factory setting unchecked the Server Affinity Enabled.(for load balancing)
Is their any additional setting I need to make or which I might be missing.
I am new to Weblogic server and wanted to know about migratable targets.
the need of migratable targets,it’s functionality and it’s configuration and how the migration is to be done……
Hi Ravish/Jay, greetings.
I have a problem. I have a Redhat linux server (I installed Red hat Enterprise Linux 5.2), I Installed weblogic 10.3. I created domain etc .
I have a windows machine (windows XP),and using putty I am trying to assess that Linux server (using putty-ssh), I am able to connect and do all kinds of operations.
I am not able to “telnet.
I am able to start the remote server using putty. But I am not able to see weblogic admin console from windows machine. I am not seeing any error at logs.Please help me.
Hi Viswa,
If your Windows box is configured for telnet and if the telnet is enabled on your Linux 5.2 Box Still if you are not able to telnet the Linux5.2 box …Means Either the WLS Server is not listening on the port which you mentioned in the Telnet command….Or the WebLogic is listening to a Separate IP Address….(Check the config.xml to get the correct <listen-address>)
If the above case is not correct then it means the N/W in whcih your Linux5.2 Box is running is not allowing some communication from your Windows-XP box via some specific ports. So please make sure that there is no Firewall issue b/w your Windows N/W and Linux5.2 N/W.
The simplest way to test it In your WINDOWS box open a Command prompt then run “setWLSEnv.cmd” then run the following PING command provided by weblogic:
If Http Tunneling is enable on your AdminServer to listen to HTTP protocol then run the below command: java weblogic.Admin -url http://xxxx:7001 -username weblogic -password weblogic PING
If Http Tunneling is NOT enable on your AdminServer to listen to HTTP protocol then run the below command: java weblogic.Admin -url t3://hostName:7001 -username weblogic -password weblogic PING
If you don’t get any PING reply from WebLogic …then you need to contact your N/W Administrators.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
Thanks for the quick reply,”for y managed server status automatically turned into unknown status”.Actually wanted to give a detailed explanation to the client out here.
Last week i faced a new issue and till it on,ie
I had deployed a application on a new managed server,port 80 and ssl default port 443.
my application was working fine with
https://
now i just wanted a redirection operation
ie when ever the end user user uses http://,he should be redirected to https://.I was trying to convenience my client ie i will completely block the access to http by just changing the port of managed server but he was ot agreeing with it.
Is this possible??or any work around will be surely helpful
Thanks in advance
Yes, by using the below post you can make sure that when ever a client hits http:// it would automatically change the request into https://, check out the below post.
My application is running on weblogic 10.3.3 application server and for database i am using oracle database 11g.My problem is that there is table in db lets say “user.” there is column letsay “columnA”.This table is updating by module of application,if when value of column “abc.”,then i have to show alert to console(IP).{IP can be retrieved from db as it is configured in db.}Updation is continuously done on my table from module of application.Please tell me from where should i start?,what should i read.I am not able to understand what should be approach. Any help is much appreciated.
Hi Munnad,
I need one clarification here what is “Console IP”… As you mentioned that as soon as a column value of your database table changes then then you want to show alert to console(IP).{IP can be retrieved from db as it is configured in db.}
Please let us know what is this console IP is it the weblogic admin console you are talking about?
.
.
Keep Posting ๐
Thanks
Jay SenSharma
Hi,
first thanks for reply!It is ip of any different linux machine,This linux machine is connected(on LAN) to weblogic application server and to machine where database is installed. Or is it possible to show alert on weblogic admin console(But on second prefrence first is different linux machine)?
Right now,Facing a new problem..
Is this possible?
1)This is a production environment,so i cant take a down time..I have deployed a war file Managed server1 and now im given a new war file(minor changes of the prev war file which is already been deployed on Managed server 1) which needs to deployed,So i deployed the war file on Managed server 2.Can i automatically redirect the user internally to access this new deployment.I mean,If the user is given http://:7002/xyz(this is the managed server 1),it should automatically redirect to http://:7003/xyz..In this way,i dont need to take a down time.
Will replication solve ma problem
Hi Gurus,
I have installed weblogic 10.0.2.0 in windows 2003 64 bit.
Everything is working fine.
Problem is my client wants me to start weblogic as a windows service to prevent any possible closing of the start scripts.
I am not sure we can run the StartWeblogic.cmd in the background like we usually do in Linux.
How do we take care of passing those parameters i.e. username and password.
Any inputs is really appreciated.
One another thing, I have included both Admin Server and Managed Server in the Node Manager during Domain Creation.
There will be dependency on Node Manager. How do I take care of this too…?
Hi Andrew,
Additionally If you want to convert your Managed Server as Windows Service then please follow the below kind of script:
echo off
SETLOCAL
set DOMAIN_NAME= Test_Domain
set USERDOMAIN_HOME= C:BEA103user_projectsdomainsTest_Domain
set SERVER_NAME=ManagedServer1
set PRODUCTION_MODE=true
set WL_HOME=C:bea103wlserver_10.3
set ADMIN_URL=http://AdminServerHostname:7001
set MEM_ARGS=-Xms1024m -Xmx1024m
call "%WL_HOME%serverbininstallSvc.cmd"
Thank you for the input. Really appreciate.
However, after much rnd on the net, I somewhat follow the same idealogy as below.. i.e. the script I build.
echo off
SETLOCAL
set DOMAIN_NAME=syncro_domain
set USERDOMAIN_HOME=D:bea_homewlserver_10.0.2user_projectsdomainssyncro_domain
set SERVER_NAME=AdminServer
set WLS_USER=weblogic
set WLS_PW=something@else1
set PRODUCTION_MODE=true
set JAVA_VENDOR=Sun
set JAVA_HOME=C:Program FilesJavajrockit-jdk1.6.0_22-R28.1.1-4.0.1
set MEM_ARGS=-Xms1024m -Xmx1024m
set ADMIN_URL=http://10.20.10.96:7001
call “D:bea_homewlserver_10.0.2wlserver_10.0serverbininstallSvc.cmd”
ENDLOCAL
…
How ever I encounter the following error when I tried to start the service from services.msc panel.
Could not start the beasvc syncro_domain_AdminServer service on Local Computer
System error 1075 has occurred.
The dependency service does not exist or has been marked for deletion.
Hi Andrew,
Few things here:
1). You need not to set “set ADMIN_URL=http://10.20.10.96:7001” in above script because we can see that you are trying to start AdminServer as Windows Service. And for AdminServer you need not to have the ADMIN_URL property….So please remove it from your Script.
2). Also please make sure that there is no Special Non-printable characters should not be there inside the script. Even the Trailing Space Characters at the end of above lines may cause windows Service failure.
3). The most surprising thing i can see is following:
set JAVA_VENDOR=Sun
set JAVA_HOME=C:Program FilesJavajrockit-jdk1.6.0_22-R28.1.1-4.0.1
Because if you want to use JRockit JVM then the JAVA_VENDOR must be “BEA” (Not Sun)
.
.
Keep Posting ๐
Thanks
Jay SenSharma
I have just emailed you few windows service scripts which would surely work at your end and have added few flags which would also help in debugging any issue in future.
The reason I emailed you is because I had to attach you the scripts, however if you have any technical issues please free to get in touch with us using comments only.
Have configured all Nodes in my Domain as follows:
If more than 2 Stuck threads are Observed on a particular Node, then Consider that Node as Failed.
So that user wont experience ERROR 404…..
Please suggest on the above mentioned Configuration.
First of all I dont think this can be done and if some how you are able to achieve this then too the clients would get 404 error as the request gone to that server would not able to send the response back to the server.
The options to avoid 404 error to your client is that make sure you have looked to every aspect which can cause a stuck threads or make it busy so that it cannot response the request now that is a pretty hard job to do and lot of testing has to be performed on that servers and after too it is not assured that this server would not go down.
Actually i was doing some testing and ended up getting lost.Problem is,i was wanted to find the ip address of the user who are gettin logged in into my application so i just added this component “cp-i ” in Extended Logging Format Fields in server–>loggin–>http,This is working fine in Production environment but wen i tried the same in test environment i m not gettin it..My acces logs are above 8 kb.
When I check my access logs(through console as well as server/logs)..I get only Message column.Tried to customise the table but im not getting anything under Column Display Available: and under Chosen: i can see only message.I might have checked or unchecked check box’s,i guess.
Thanks for your help.Feeling bad for posting for such minor issues.
Hi Fabian,
By default the access log buffer size is 8 KB so until that 8KB data is not filled in the buffer no entry is written in the “access.log” file so you may not be able to see anything. Just try to decrease the accesslog buffer size to 0 KB and then try:…… In your production environment May be due to excessive requests the logs gets written very fast compared to Development environment logs.
– The LogFileMBean now includes a buffer-size-kb parameter.
– This parameter has a default value of 8 KB hence it waits for the 8 KB and then starts writing in the access.log
– When set to zero, it will not buffer the log messages and starts writting in the access.log
For example, to set the buffer size for access.log in config.xml:
… 0
OR
You can use “-Dweblogic.logging.bufferSizeKB=0” at the time of starting the server.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
Memory is not allocated application wise. So you cannot calculate how much memory is being consumed by Application “A” and how much memory is being consumed by Application “B”.
Load testing and a Good performance testing team is needed for calculating the required machine.
There is no standard formula.
Hi Jay,
Thanks for your previous solution it worked well.
I Have made my weblogic application server to run automatically whenever the server boots up..ie kept it in ma server start scripts..using nohup command
Is This possible ie Once my Admin server is up and even my nodemanager is up,to start managed server automatically…I have only one domain..
In current scenario,I have to manually select each n ever managed server and den press start.
Hi Middleware Team,
Stuck in a serious problem rite now.
My log files are increasing tremendously..ie in a day It shoots upto 1 gb..(every 5 mins a new log file is written renamin the previous one which reaches 5 mb).There are not too many users.Just 200-250 total sessions in a day..Checked the log files,im just getting this msg every sec
MS_7003 [ACTIVE] ExecuteThread: ’18’ for queue: ‘weblogic.kernel.Default (self-tuning)’ <>.
I have to clear the log files continuously ie after every 3-4hrs.
The same configuration is on another weblogic server and there log files doesnt increase to that extent..Y is this happening..
Hi Fabian,
We are not able to see what messages are repeatedly getting logged in the Server.log which is consuming more disk space, So please post the Snippet of Server log messages which are repeatedly getting logged and filling the server log Like described here: http://middlewaremagic.com/weblogic/wp-content/uploads/2009/08/How_to_Post_Comments.jpg . Make sure that the Server Debugs are off or only the required Debug flags are switched ON.
Hi Sathya,
Root cause of the error was : Caused by: java.lang.ClassNotFoundException: oracle.dms.wls.DMSServletFilter
It’s simple logic that this class is not present in the CLASSPATH of the Server or it’s not present inside the application other wise WLS Will never complaint about this class is missing. That could be an issue with the classloader configuration changes as well….
So adding this Jar explicitly in the CLASSPATH of the server will force server to load this jar at any cost. The same thing worked there as well.
.
.
Thanks ๐
Jay SenSharma
Strange issue,My application which was deployed on production was running smoothly from past 1-2 months,Day before yesterday,i just restarted the entire weblogic server.Now i getting performance issue ie slowness.
I checked whether any threads are stuck(Server–>Monitoring–>threads) which might be causing the problem but none of the thread were stuck..
Checked the cpu and memory usage 0.1 and 5.8 respectively..
I m getting a throughput 17-22 while previously i used to get around 0.5 – 2.from where should i start trouble shooting,Any specific area.
I have 1 more doubt,this same application is deployed on test and production.
On test,I get
Active Execute Threads -8
Execute Thread Total Count -9
But on production i have
Active Execute Threads -20
Execute Thread Total Count -20
Active Execute Threads should be same rite on production as well as test,Since both the application are same.
Y is this so?
What I can make it out from your description is that the load to the application might been increased hence you are seeing this issue. Which WLS version are you using and after restart are you seeing the same behavior everyday or just that one day?
Fat locks:
A fat lock is a lock with a history of contention (several threads trying to take the lock simultaneously), or a lock that has been waited on (for notification).
Thin locks:
A thin lock is a lock that does not have any contention.
Hi Ravish,
I m using wls 10.3.4..I dont restart my entire weblogic server very often..Had restarted on 19th evening,from then onwards had a performance hit ie from last 2 dayz..Still facing the same problem.I even performed garbage collection.Can please help like from which direction i should start trouble shotting
However why do you have this types of curiosity, when you dont have WLS 8.1 with you. Also if you had it still the support for it has been closed and these days no one uses it (i.e. else should not use it).
Hi middleware Magic team,
Good morning,Posted after a long time…
Today morning came up with a new issue,I came up with a stuck thread,got an warning on Admin server:ThreadPool has stuck threads
Checked the logs it showed as below
Apr 28, 2011 10:40:55 AM IST Error WebLogicServer BEA-000337 [STUCK] ExecuteThread: ‘4’ for queue: ‘weblogic.kernel.Default (self-tuning)’ has been busy for “718” seconds working on the request “weblogic.kernel.WorkManagerWrapper$1@c810c5”, which is more than the configured time (StuckThreadMaxTime) of “600” seconds. Stack trace:
java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketInputStream.read(SocketInputStream.java:129)
weblogic.utils.io.ChunkedInputStream.read(ChunkedInputStream.java:159)
java.io.InputStream.read(InputStream.java:85)
com.certicom.tls.record.ReadHandler.readFragment(Unknown Source)
com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
com.certicom.tls.record.ReadHandler.read(Unknown Source)
com.certicom.io.InputSSLIOStreamWrapper.read(Unknown Source)
sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)
sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
java.io.InputStreamReader.read(InputStreamReader.java:167)
java.io.BufferedReader.fill(BufferedReader.java:136)
java.io.BufferedReader.readLine(BufferedReader.java:299)
java.io.BufferedReader.readLine(BufferedReader.java:362)
weblogic.nodemanager.client.NMServerClient.checkResponse(NMServerClient.java:289)
weblogic.nodemanager.client.NMServerClient.checkResponse(NMServerClient.java:314)
weblogic.nodemanager.client.NMServerClient.start(NMServerClient.java:102)
weblogic.nodemanager.mbean.StartRequest.start(StartRequest.java:75)
weblogic.nodemanager.mbean.StartRequest.execute(StartRequest.java:47)
weblogic.kernel.WorkManagerWrapper$1.run(WorkManagerWrapper.java:63)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
After sometime everything started working fine,But still i have a warning symbol on my console.
1) How to detect on what the thread is stuck on
2) In case of a stuck thread – how to roll back/stop the thread so that the rest of the processing can continue.
So from the error it seems that the thread had taken more then 600 seconds (i.e. 718 seconds ) time to complete its work and from the stack it seems that the thread was try to read some data from the socket. This can be a network glitch as you said that it was working fine after some time, hence no worries about it. But if you see more similar issue then we would have to look into it.
For these kind of issue we had created a WLST script which would have a look on the stuck threads and would generate thread dumps during the issue occurs so that we would have some data to look into it. Check out the below link
1.) Try using “-file clientCert.cer”
rather than “.pem”
Then later take a back up and rename the file to der
and use the weblogic’s utility “java utils.der2pem ”
2.) try removing the -trustcacerts options. I believe that might work.
Let me know in which keystore u are importing TRUST or IDENTITY
Hi Mauricio,
Not only WebLogic rather most of the best Application servers does not recommend/allow a deployed application to manage their own Application level Threads. This is because the requests are processed by the Application Server Threads like (Worker Threads) Execute Threads. The application processes clients request on a Multithreaded environment which is managed by the Application Servers … so These servers do not want any Application level thread interfare in their own JOB. So Opening a Socket through an Application and Creating and Managing Application Level Threads are STRICTLY prohibited. So you have chosen the right and recommended way to achieve your goal using TimerService.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
–Environment —
Weblogic 10.3.2
Windows 2008 R2
JDK Sun 1.60_20
—————-
Hi all,
I’ve run this sunday a ‘stress test’on one of our application. The Weblogic node didn’t crash and dealed correctly the requests.
-However looking at the metrics, I can see that the Hogging thread count increased linearly up to 400; stayed at this value for 40 minutes then decrease linearly.
-The same behaviour was observed on the Thread Queue legth…
-looking at the log files, I can see plenty of threads marked as STUCK then marked unstuck…
My understanding is that too many requests are submitted to the my Weblogic.
Now, could anyone give me a clear definition of hogging thread? looking on the web, I’m more confused now
What are the actions we can take on Weblogic to reduce this hogging situation?
Thanks for your help and thanks for all your excellent posts
Hogging threads:
Hogging threads can be called as a candidates for stuck threads in other words, those threads that โmightโ get stuck are called hogging threads. These threads will be declared as stuck threads after โStuckThreadMaxTimeoutโ seconds which by default value is 600secs.
You can also get the more information and Alerts when hogging threads have reached at the defined level from the below links
Thanks for your links. I’ll have a look at them.
Noe reading “Performance and tuning for Oracle Weblogic Server”, I noticed that the max TotalThreadCount is set to 400.
I’ve been looking in the admin console and config.xml file but couldn’t see any references to this value.
Hi Fipnova51,
MaxThreadCount is by default set to 400 By weblogic. But if you want to change it then you can use the JAVA_OPTIONS in your servers startScript
-Dweblogic.threadpool.MinPoolSize=400
-Dweblogic.threadpool.MaxPoolSize=500
.
.
Keep Posting ๐
Thanks
Jay SenSharma
I have another question.
The place I’m working at as a team deditaed to middleware solutions. In my case they’re in charge to create Weblogic domain when needed.
My weblogic domain runs on Windows and managed servers are started through beasvc64.exe
Looking at the registry, I modified the Cmdline entry to add “verbose:gc -loggc” arguments. Therefore all my GC are saved in a file.
My problem is if I restarted my managed server, my loggc file is overwritten during the restart and I lost my metrics.
I modified my loggc file by adding %DATE% args (onsole1_%DATE:~10,4%%DATE:~7,2%%DATE:~4,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.log) unfortunately it didn’t create any file.
How can I make sure my loggc file isn’t overwritten when a restart is initiated?
First of all I dont think so it is recommended to modify anything is the Windows registry, so try to again reinstall your Windows Service for Managed server with adding the below line in script and then try it out if that works for you
set JAVA_OPTIONS= -verbose:gc -loggc -Dweblogic.Stdout=D:bea_homewlserver_10.0.2user_projectsdomainssyncro_domainASstdout.txt -Dweblogic.Stderr=D:bea_homewlserver_10.0.2user_projectsdomainssyncro_domainASstderr.txt
I am currently running flex cube, in HP UX and have been having issues with tuning, I often experience out of memory and at it has become a normal operation to restart the weblogic due to frequent hanging of the application.
I have set the below parameters
JAVA Memory arguments: -Xms2048m -Xmx2048m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:SurvivorRatio=16 -XX:+ForceMmapReserved -Xmn512m -Xoptgc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:/oracle/middleware/user_projects/domains/base_domain/bin/UAT1_ManagedServer.gc28608.log -XX:+UseSpinning -XX:+HeapDumpOnOutOfMemoryError -XX:+HeapDumpOnly
would you please assist me with better tuning parameters. In addition i also experience PORT lock as shown in the log below
] The system is vulnerable to security attacks, since it trusts certificates signed by the demo trusted CA.>
Hi Joe,
As you have mentioned that very frequently you are facing OutOfMemory Eror in your WebLogic Server. So can you plesae let us know which kind of OutOfMemory is it Like OutOfMemory in HeapSpace, OutOfMemory In native Space, OutOfMemory in PermGen Space..
Also we would require the gc log to see if the Garbage Collection is happening properly or not?
If based on GC log report if we will find that Garbage Collection is happening properly on time and Full Garbage Collection pause is not taking more than 6-8 Seconds then Garbage Collection is good for 2 GB Heap space as for 2GB Heap space 6-8 Seconds of Full GC pause is normal…. But if it takes more than that then it means there could some problem with the Garbage Collection as well.
Suppose if the Garbage Collection is happening properly then in that case we must collect the Heap Dump at the Peak Heap Utilization of Heap space… as some time -XX:+HeapDumpOnOutOfMemoryError JAVA_OPTION is not able to generate the Heap Dumps so in that case we will have to collect the heap dump manually (At the peak Heap Utilization)
In 11g there seems to be an issue with this. It doesn’t single or double quotes, and seems to error on startup without them.
We’re resorted to running a cron job every night to roll the GC logs where this used to happen automatically whenever the managed server was restarted.
Do you have any suggestions on tuning garbage collection with WebLogic?
Please try the same and let us know. I could see that a gc log file created with name “gc_20110617-143342.log”
.
.
Keep Posting ๐
Thanks
Jay SenSharma
from the below stack trace how can we say that its checking for the JSP’s before reloading. We raised a SR with Oracle support and they have mentioned this.
“ExecuteThread: ’20’ for queue: ‘HealthCheckExecuteQueue'” daemon prio=5 tid=0x0050c7f0 nid=0x2a runnable [0x4c875000..0x4c87fc28]
at java.util.LinkedList.listIterator(LinkedList.java:459)
at java.util.AbstractList.listIterator(AbstractList.java:348)
at java.util.AbstractSequentialList.iterator(AbstractSequentialList.java:249)
at java.util.Collections$SynchronizedCollection.iterator(Collections.java:1553)
at weblogic.utils.classloaders.MultiClassFinder.getSource(MultiClassFinder.java:77)
– locked (a java.util.Collections$SynchronizedList)
at weblogic.utils.classloaders.MultiClassFinder.getSource(MultiClassFinder.java:66)
at weblogic.utils.classloaders.CodeGenClassFinder.getSource(CodeGenClassFinder.java:30)
at weblogic.utils.classloaders.MultiClassFinder.getSource(MultiClassFinder.java:80)
– locked (a java.util.Collections$SynchronizedList)
at weblogic.utils.classloaders.MultiClassFinder.getSource(MultiClassFinder.java:69)
at weblogic.utils.classloaders.CodeGenClassFinder.getSource(CodeGenClassFinder.java:30)
at weblogic.utils.classloaders.MultiClassFinder.getSource(MultiClassFinder.java:80)……
Hi Pranay69,
By looking at the above StackTrace of Thread of “HealthCheckExecuteQueue” we cannot say anyting related to JSP reloading or compilation…..
.
.
Keep Posting ๐
Thanks
Jay SenSharma
Hi Pyatla,
If you want to see the Whole days Heap Utilization then it will be best if you can enable the garbage Collection Logging. Once you get the garbage collection Log then you can just open it inside the “gcViewer” tool (http://www.tagtraum.com/gcviewer.html)to see a complete graph with time to findout at what time in a day the heap utilization was higher and what time it was normal.
Also to get a summary of Peak Heap Utilization and Garbage Collection statistics you can refer to the following article: http://middlewaremagic.com/weblogic/?p=5131
Hi Chris,
I am sorry !!! looks like i misunderstood your issue.
As earlier you didn’t mention that you are trying to achieve the same using WebLogic Admin Console “Server State” tab. I am not sure if that can be done..I even don’t see any possibility to do that any more.
I tried to put the JAVA_OPTION in the server’s startScript “startWebLogic.sh”.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
I’ve been unable to detect any differences in the environments. PreProd doesn’t set a JAVA_OPTION value for date, nor does Production. Both show an empty value whenever I $echo $date or $DATE on the command line.
There’s nothing in the .bashrc or other user profile files on the Linux side of things either.
The same configuration in WebLogic exists between the two environments. The only exception is a two character difference in the filepath for the domain home.
We record garbage collection logs for all of our managed servers. In WLS 8.1 we used similar expressions to set the GC log file name. It worked fine. In WLS 11g 10.3.3 this doesn’t seem to work, and no amount of tweaking has seemed to help.
As a result a file which should show up as: “AdminServer-memory-gc-20110622-102133.log” instead shows as: “AdminServer-memory-gc-$(date”.
Hi Jay,
I getting the below error during deployment. In order to do a deployment i have to restart the weblogic .Kindly assist
An unexpected exception has occurred processing your request
Message: The requested attribute is not exposed through JMX: getCluster
Stack Trace: java.lang.RuntimeException: The requested attribute is not exposed through JMX: getCluster at weblogic.management.jmx.ExceptionMapper.matchJMXException(ExceptionMapper.java:74) at weblogic.management.jmx.MBeanServerInvocationHandler.doInvoke(MBeanServerInvocationHandler.java:506) at weblogic.management.jmx.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:380) at $Proxy135.getCluster(Unknown Source) at com.bea.console.utils.DeploymentUtils.getServerTargets(DeploymentUtils.java:312) at com.bea.console.actions.jdbc.datasources.createjdbcdatasource.CreateJDBCDataSource.selectTargets(CreateJDBCDataSource.java:558) 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:597) at org.apache.beehive.netui.pageflow.FlowController.invokeActionMethod(FlowController.java:870) at org.apache.beehive.netui.pageflow.FlowController.getActionMethodForward(FlowController.java:809) at org.apache.beehive.netui.pageflow.FlowController.internalExecute(FlowController.java:478) at org.apache.beehive.netui.pageflow.PageFlowController.internalExecute(PageFlowController.java:306) at org.apache.beehive.netui.pageflow.FlowController.execute(FlowController.java:336) at org.apache.beehive.netui.pageflow.internal.FlowControllerAction.execute(FlowControllerAction.java:52) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:97) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:2044) at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors$WrapActionInterceptorChain.continueChain(ActionInterceptors.java:64) at org.apache.beehive.netui.pageflow.interceptor.action.ActionInterceptor.wrapAction(ActionInterceptor.java:184) at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors$WrapActionInterceptorChain.invoke(ActionInterceptors.java:50) at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors$WrapActionInterceptorChain.continueChain(ActionInterceptors.java:58) at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors.wrapAction(ActionInterceptors.java:87) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2116) at com.bea.console.internal.ConsolePageFlowRequestProcessor.processActionPerform(ConsolePageFlowRequestProcessor.java:261) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:556) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:853) at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:631) at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:158) at com.bea.console.internal.ConsoleActionServlet.process(ConsoleActionServlet.java:256) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) at com.bea.console.internal.ConsoleActionServlet.doGet(ConsoleActionServlet.java:133) at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1199) at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.executeAction(ScopedContentCommonSupport.java:686) at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.processActionInternal(ScopedContentCommonSupport.java:142) at com.bea.portlet.adapter.scopedcontent.PageFlowStubImpl.processAction(PageFlowStubImpl.java:106) at com.bea.portlet.adapter.NetuiActionHandler.raiseScopedAction(NetuiActionHandler.java:111) at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:181) at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:167) at com.bea.netuix.servlets.controls.content.NetuiContent.handlePostbackData(NetuiContent.java:225) at com.bea.netuix.nf.ControlLifecycle$2.visit(ControlLifecycle.java:180) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:324) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:130) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:352) at com.bea.netuix.nf.Lifecycle.runInbound(Lifecycle.java:184) at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:159) at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:388) at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:258) at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:199) at com.bea.netuix.servlets.manager.SingleFileServlet.service(SingleFileServlet.java:251) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at com.bea.console.utils.MBeanUtilsInitSingleFileServlet.service(MBeanUtilsInitSingleFileServlet.java:47) at weblogic.servlet.AsyncInitServlet.service(AsyncInitServlet.java:130) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) Caused by: javax.management.AttributeNotFoundException: com.bea:Name=AdminServer,Type=Server:Cluster at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:205) at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:222) at javax.management.remote.rmi.RMIConnectionImpl_1033_WLStub.getAttribute(Unknown Source) at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getAttribute(RMIConnector.java:878) at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:263) at weblogic.management.jmx.MBeanServerInvocationHandler.doInvoke(MBeanServerInvocationHandler.java:504) … 93 more
Hi Joe,
Looks like your application deployment is internally using some DataSource by looking at the following line of StackTrace: com.bea.console.actions.jdbc.datasources.createjdbcdatasource.CreateJDBCDataSource.selectTargets(CreateJDBCDataSource.java:558) at
So please make sure that the DataSource is created properly and targeted to the Cluster. It will be good if you can test the DataSource first if it is working fine or not. It will be good to look at the “Target”: of the DataSource is set to the Cluster properly or not as well.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
I had a doubt…Since my client had this requirement.
Is this possible??
Whenever,i want to shutdown the weblogic server for maintaince activity..I just want the weblogic users to get a pop up..”please log out after 10mins”..is this possible??
Current out netwark ppl are doing it..But this msg gets displayed to all the user,evn those users who are not using weblogic.
Yes, this can be done. Your network guys are already giving the pop-up’s but only difficulty which you guys are facing is that you do not know who all are using weblogic. So to solve this issue you can refer to the below article which would help you do so.
Topic: HttpSession Monitoring using http://middlewaremagic.com/weblogic/?p=1610
You would have to get the IP addresses of the client/user by replacing line-09 of Setp-3 by the following
BEFORE
session.setAttribute(“MyMainSessionAttribute”,userName);
The above code would fetch the IP address of the users and as explained in the post from the console you would get the list of users IP which can be shared by the network team, so now they would send that pop-up messages to these guys only who are using weblogic.
Am currently running Oracle Flex-cube in HP UX and for the past few months I have been facing serious speed issues and system hanging .I am new to weblogic and I kindly request for your assistance is setting up the best garbage collection parameter for this transactional based application. I have enough memory i.e 60Gb but still the problem is as if am running the application on a P1 machine.Please please assist.
Hi Joe,
For slow responsiveness of a Server there could be many factory involved like the
1) . Garbage Collection might not be happening properly, Means the Full GC pause might be very high.
2). The Heap Size might be set to too low compared to the application need.
3). The Most important thing is there might be some STUCK Threads in the Thread dumps.
So to find out the exact cause we need to do the following :
1). Use the Garbage Cat tool to generate the Garbage Collection Summary Report to see if the Garbage Collection is happening properly or not. Please refer to the article: http://middlewaremagic.com/weblogic/?p=5131
2). To Check Heap Utilization we need to again see the Garbage Collection Logs “Max Heap Space” And “Max Heap Occupancy” values…if these values are too close and If the Max Pause is average then it means the application requires more Heap Memory.
3). We need to collect the Heap Dump and need to look into it to see if there is any STUCK thread present or If any of the Thread is Causing High CPU utilization: http://middlewaremagic.com/weblogic/?p=4884
.
.
Keep Posting ๐
Thanks
Jay SenSharma
I am facing issues while migrating my application from OC4J to Weblogic 10.3.2.0.
weblogic.servlet.jsp.CompilationException: Failed to compile JSP /search.jsp search.jsp:2:18: Error in “initialize.jsp” at line 99: The method getServletContext() is undefined for the type __search ————– search.jsp:2:18: Error in “initialize.jsp” at line 103: The method getServletContext() is undefined for the type __search
I have tried adding the servlet jars to the lib folder of WEB-INF.
I tried changing the getServletContext() to application.
But I am unable to understand what is the issue for the jsp compilation error here for the implicit objects which are being used within the jspInit call within initialize.jsp file.
Hi Richa,
We will have to look inside the search.jsp page to know what exactly is happening there in line number 2 of the JSP Page Column number 18.
Will it be possible for you to share the search.jsp with us so that we can check if any thing needs to be changed there?
You can even post us your JSP page in the following E-Mail address “contact@middlewaremagic.com” As it is very difficult to comment anything without looking at the JSP page.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
Hi Team,
Over the past few weeks, we have noticed that whenever we deploy any new version in Web-Logic 10.3.3, the changes don’t reflect. The only option through which the changes would reflect is to delete the contents of the stage and Temp folder in each managed server and then do a fresh deployment.
—How can we avoid this deleting process, as managed server count is high in number and CR window time will be less in Production.
— How could I configure WebLogic to delete them automatically (rather than writing a cron job or some external process that would periodically remove them).
Hi Sunny,
As you have mentioned that you have a large number of Managed Servers in your Production environment … So please let us know How you are deploying a fresh Version of your Application on it ? Are you using any WLST/JMX/weblogic.Deployer Script ?
Because once we know how you are deploying your applications currently then only we will be able to find some strings to comment… If you are not already using WLST kind of utility to undeploy and deploy all your applications at once to all the Managed Servers then we can provide you a WLST script which will do all these things at once. You will need to just invoke the WLST Script to Undeploy the previous versions of your Application and then deploy a New Version of your application on the targeted Servers.
.
.
Keep Posting ๐
Thanks
Jay Sensharma
I was able to resolve the “The method getServletContext() is undefined for the type __search error” by changing a bit of code.
In WLS, getServletContext() and implicit objects like application,config are not recognized within the jspinit call.So we need to use getServletConfig().getServletContext() instead of the
application or getServletContext().
A user getting below error while accesing forms application
FRM-92100 Your connection to the server was interrupted
This may be the result of a network error,or a failure on the server.
you will need to reestablish your session..
No other users are not affected,but if the same user close error window & if he opens the same application again he can connect.
new user connection are allowed after this occurs.
Hi Apurva,
Looks like you need to set item property to Item type =Text item & set insert allowed =NO & update allowed = NO
And also clear the files in Local user’s Oracle Jar Cache, and .jinit folders
As mentioned in the Last reply posted in the following link: http://forums.oracle.com/forums/message.jspa?messageID=4208044#4208044
.
.
Keep Posting ๐
Thanks
Jay SenSharma
Hi Apurva,
Setting these properties are not administrative task rather a Oracle Forms Developer need to set these properties in the application configuration files.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
While installing oracle application server 10g R2 i an getting following errors:
java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:137)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:174)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:286)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:327)
at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:433)
at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:150)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:31)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:140)
at oracle.ldap.oidinstall.backend.SQLConnection.(SQLConnection.java:52)
at oracle.ldap.oidinstall.backend.OIDConfigWrapper.configOID(OIDConfigWrapper.java:208)
at oracle.ldap.oidinstall.OIDCA.doSilent(OIDCA.java:507)
at oracle.ldap.oidinstall.OIDCA.run(OIDCA.java:818)
at oracle.ldap.oidinstall.OIDCA.main(OIDCA.java:957)
Oracle Internet Directory Configuration failed. Please see log file: C:Oracleorainfraldaplogoidca.log
oracle.ldap.oidinstall.backend.OIDCAException: java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
at oracle.ldap.oidinstall.backend.OIDConfigWrapper.configOID(OIDConfigWrapper.java:247)
at oracle.ldap.oidinstall.OIDCA.doSilent(OIDCA.java:507)
at oracle.ldap.oidinstall.OIDCA.run(OIDCA.java:818)
at oracle.ldap.oidinstall.OIDCA.main(OIDCA.java:957)
Hi Apurva,
The Root cause of “oracle.ldap.oidinstall.backend.OIDCAException” exception is “java.sql.SQLException: Io exception: The Network Adapter could not establish the connection”.
Looks like your Internet Directory configuration assistant requires a Oracle Database connectivity and when it is trying to connect to Oracle Database at that time due to the N/W issue it is not able to connect to the Database.
So please check first whether your Database is UP and running or now (Is it opening the database listen port or not) ?
There are some more debugging steps mentione din the following link regarding “http://middlewaremagic.com/weblogic/?p=2477” issue “Common Jdbc Issues-1). The Network Adapter could not establish the connection”
.
.
Keep Posting ๐
Thanks
Jay SenSharma
Hi, I just want to see if anyone has run into a similar problem before.
I have a customer that will be runnning my application on weblogic server 10.3.4.
They have set their domain up in production mode on RHEL5 under a weblogic user. I have done this many times myself without issue. However the customer is having problems with logging.
Most of the logs end up in the proper place on the file system, but some app specific logs are missing. Unfortunatly, the logging strategy I’m stuck with in this case is system.out.println.
I know something is wrong with their logging because when I try to view the Server logs via the console, nothing is there. I’ve never seen that empty before. I’ve asked them to check all file level permissions and they insist everything is “fine”.
Have any of you run into something like this before? Could it be an selinux thing that we’re missing? Any thought idea’s or anything would be very helpful.
Hi Kevin, Point-1).
If you are seeing that the “System.out.println” statement outputs are not getting printed to the Server logs then please do the following:
If you want to redirect the STDOUT file of your Server as well inside the Server Log then u can add the following Flag as well in the JAVA_OPTIONS: -Dweblogic.log.RedirectStdoutToServerLogEnabled=true
Point-2). As you have mentined that you are not able to see the server Logs from the admin-console , So in order to find out what is wrong with the server logging please do the following to see whether the server.log is getting populated properly or not?
If your Server is running in “PRODUCTION MODE” then you must use the SSL Protocol to access the Logs using weblogic.Admin Utility. like following, Means you will have to use the following command with “-Dweblogic.security.TrustโKeyStore=DemoTrust” JAVA_OPTION to access the Logs (NOTE: Please pass the correct TrustKeyStore in your command … If you are using anything else apart from the default one.): java -Dweblogic.security.TrustKโeyStore=DemoTrust weblogic.Admin -url t3s://localhost:4002 -username weblogic -password weblogic SERVERLOG
If above command gives you server.log entries then it means that the server.log is getting populated as expected.
Additionally it will be good if you can try changing the “server.log” directory from the admin-console to some other directory to see if the logging is happening fine or not?
Point-3). As you have mentioned that some Application level logs are missing … So basically WebLogic does not controls the Application level logging rather the application level logging frameworks like log4j are actually responsible for rotating and managing the application level logs which need to be checked from the application side.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
In one of our production WebLogic server we have got Stack Over Flow exception.
Once we restarted the instance issue got resolved.
Please let us know what could be the reasons for this issue and suggest guidelines to resolve the issue
Logs are:
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at com.bea.console.utils.BeanUtils.fetchProperties(BeanUtils.java:418) at com.bea.console.utils.MBeanUtils.fetchProperties(MBeanUtils.java:217) at com.bea.console.actions.core.server.ServerMonitoringGeneralAction.execute(ServerMonitoringGeneralAction.java:83) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:97) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:2044) at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors.wrapAction(ActionInterceptors.java:91) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2116) at com.bea.console.internal.ConsolePageFlowRequestProcessor.processActionPerform(ConsolePageFlowRequestProcessor.java:255) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:556) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:853) at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:631) at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:158) at com.bea.console.internal.ConsoleActionServlet.process(ConsoleActionServlet.java:256) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) at com.bea.console.internal.ConsoleActionServlet.doGet(ConsoleActionServlet.java:133) at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1199) at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.executeAction(ScopedContentCommonSupport.java:686) at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.renderInternal(ScopedContentCommonSupport.java:266) at com.bea.portlet.adapter.scopedcontent.StrutsStubImpl.render(StrutsStubImpl.java:107) at com.bea.netuix.servlets.controls.content.NetuiContent.preRender(NetuiContent.java:292) at com.bea.netuix.nf.ControlLifecycle$6.visit(ControlLifecycle.java:428) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:727) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:146) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361) at com.bea.netuix.nf.Lifecycle.runOutbound(Lifecycle.java:208) at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:162) at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:388) at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:258) at com.bea.netuix.servlets.manager.UIServlet.doGet(UIServlet.java:211) at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:196) at com.bea.netuix.servlets.manager.SingleFileServlet.service(SingleFileServlet.java:251) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at com.bea.console.utils.MBeanUtilsInitSingleFileServlet.service(MBeanUtilsInitSingleFileServlet.java:54) at weblogic.servlet.AsyncInitServlet.service(AsyncInitServlet.java:130) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3502) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(Unknown Source) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2186) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2092) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) Caused by: java.lang.reflect.InvocationTargetException 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:597) at com.bea.console.utils.PropertyUtils.getSimpleProperty(PropertyUtils.java:1192) at com.bea.console.utils.BeanUtils.fetchProperties(BeanUtils.java:387) … 80 more Caused by: java.lang.StackOverflowError at java.util.Hashtable.get(Hashtable.java:334) at java.util.Properties.getProperty(Properties.java:932) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at
Hi Praveen,
The StackOverFlowError is a kind of OutOfMemory error in JVMs native area which is occurred when the Thread Stack Size grows more then expected. So we must keep in mind that the Thread Stack Size is set properly. The Thread Stack Size can be set using the JAVA_OPTION -Xss. Setting very small StackSize (-Xss) causes . StackSize is a memory area which is allocated to individual threads where they can place their thread local objects/variables.
Some times we get this error while performing a particular type of operation which requires the Thread do create more Thread Local Objects/Variables, For example if the Xss size is set to default or set to very less then while performing a particular operation in Admin Console might cause StackOverflow Error because the WebLogic Admin Console is a Portal based application and internally it uses a lots of temporary netuix components and page flows which can cause this error.
So we must be very careful regarding this kind of error and we should increase the -Xss size based on requirement.
NOTE: As you might be running your server for quite a long time and you never encountered this error before so it is obvious for you to ask Why suddenly you require to tune the Xss size ? It was working fine earlier and after restart of server as well it started working ….So why to tune the Xss?
It is because the error itself indicates that the Thread StackSize exceeded a certain limit and which is causing this issue. And many times we don’t perform a particular operation in a certain order …but some order of execution requires more Thread Local Objects / Variables which we might have not noticed earlier.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
I have installed oracle application server R2 then apply patch on both infra& BI(10.1.2.3.0)also upgrade the infra DB(10.1.0.5.0)
again apply the patch on DB(10.2.0.1)
after patching when i start opmn components it’s giving me following errors:
The OC4J_SECURITY did not start. The HTTP_Server and OID is up.
My Database is ok!!
In OC4J~OC4J_SECURITY~default_island~1 log I received the follow error:
SSOLoginServlet.init: Starting up SSO server …
Initilize NLS utility…
Reading SSO server policy….
SSO: Entered FilePolicyManager constructor …
SSO: FilePolicyManager: done loading the /u/oracle/oid/OraHome_1/sso/conf/policy.properties file
SSO: Leaving FilePolicyManager constructor …
SSODebug: Done loading the debug file, /u/oracle/oid/OraHome_1/sso/log/ssoServer.log
SSO: DB Error. Please make sure the database is available and restart SSO Server
oracle.security.sso.server.util.DBException: Empty DB connect string. Could not create DB connection pool
at oracle.security.sso.server.util.DBConnectionPool.init(DBConnectionPool.java:148)
at oracle.security.sso.server.util.DBConnectionPool.init(DBConnectionPool.java:99)
at oracle.security.sso.server.ui.SSOLoginServlet.init(SSOLoginServlet.java:282)
at javax.servlet.GenericServlet.init(GenericServlet.java:258)
at com.evermind.server.http.HttpApplication.loadServlet(HttpApplication.java:2354)
at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4795)
at com.evermind.server.http.HttpApplication.initPreloadServlets(HttpApplication.java:4889)
at com.evermind.server.http.HttpApplication.initDynamic(HttpApplication.java:1015)
at com.evermind.server.http.HttpApplication.(HttpApplication.java:549)
at com.evermind.server.Application.getHttpApplication(Application.java:890)
at com.evermind.server.http.HttpServer.getHttpApplication(HttpServer.java:707)
at com.evermind.server.http.HttpSite.initApplications(HttpSite.java:625)
at com.evermind.server.http.HttpSite.setConfig(HttpSite.java:278)
at com.evermind.server.http.HttpServer.setSites(HttpServer.java:278)
at com.evermind.server.http.HttpServer.setConfig(HttpServer.java:179)
at com.evermind.server.ApplicationServer.setConfig(ApplicationServer.java:1551)
at com.evermind.server.ApplicationServerLauncher.run(ApplicationServerLauncher.java:92)
at java.lang.Thread.run(Thread.java:534)
SSO: FAILED TO START SSO SERVER!
Oidmon logs showing:
2011/08/10:15:32:17 * [oidmon]: Unable to connect to database,
will retry again after 20 sec
2011/08/10:15:32:38 * Error connecting database. -1
2011/08/10:15:32:38 * Error : Guardian Process terminated
Hi Apurva,
This kind of error usually occurs due to unclean bounce of OPMN and whenever an unclean bounce happens pid values are not cleaned properly and try the following:
1. opmnctl stopall
2. clear all files under $ORACLE_HOME/opmn/logs & $ORACLE_HOME/opmn/logs/states and remove .opmndat (hidden file => to view issue ls -la )
3. Make sure no process holding any ports => run netstat -anop |grep LIST
4. Make sure this command does’t show anything => ps auxww |grep rmi
5. Make sure DB Listener and OID (Ldapbind) are successfull ….
a. tnsping
b. ldapbind -h -p 389 (NON-SSL) / ldapbind -h -p 636 -U 1 -D cn=orcladmin -w (SSL)
6. opmnctl startall
Hi Middleware Admins,
We are working on solaris10 platform, Weblogic11g. I have a weird scenario. Basically we have a citrix server,Our Company(XY) servers(30), F5 load balancing. Here when users are entering through citrix servers the request is hitting to only 2 particular servers in our company among the 30servers present. This is happening only when users login through citrix, because of which the performance of these 2servers is very high and users are facing slowness. Initially we were expecting there might be a problem in our company servers, so we removed the 2servers out of service. Later all the request are now going to only other 2 servers among the 28 present servers. So why is the request not disrtibuted equally among all the 30 servers. Is there any place we need to check. We are unable to get proper information in the logs and moreover i just moved to this company initially so it will take time for me to get complete access and provide more info.Can you please suggest me anything for the above scenario and let me know if need to give more info.
I think you have to look at your load balancing. See how it is configured and how it detects the WebLogic servers.
Usually a load balancer uses some kind of round robin algorithm to the back-end servers.
Note that in the case of session binding, the requests by the same users are always send to the same server. In this case WebLogic sends a session cookie jsessionid to the client. In this session cookie a primary and a secondary server are present. This in order to replicate data only to one server in the cluster.
As mentioned above, a good starting point is to look at the load balancer.
java.io.IOException: Server failed to start up. See server output log for more details.
at weblogic.nodemanager.server.ServerManager.start(ServerManager.java:303)
at weblogic.nodemanager.server.Handler.handleStart(Handler.java:542)
at weblogic.nodemanager.server.Handler.handleCommand(Handler.java:119)
at weblogic.nodemanager.server.Handler.run(Handler.java:66)
at java.lang.Thread.run(Thread.java:619)
managed server log:
===================
[WARN ] -XX:MaxPermSize=256m is not a valid VM option. Ignoring
[WARN ] -XX:+UseParNewGC is not a valid VM option. Ignoring
[WARN ] -XX:+CMSParallelRemarkEnabled is not a valid VM option. Ignoring
[WARN ] -XX:+UseConcMarkSweepGC is not a valid VM option. Ignoring
I also tried to create new boot.properties file…but no luck ๐
[WARN ] -XX:MaxPermSize=256m is not a valid VM option. Ignoring
[WARN ] -XX:+UseParNewGC is not a valid VM option. Ignoring
[WARN ] -XX:+CMSParallelRemarkEnabled is not a valid VM option. Ignoring
[WARN ] -XX:+UseConcMarkSweepGC is not a valid VM option. Ignoring
Hi Giriraj,
Regarding the WARNING messages which you are seeing in your Logs for Invalid JAVA_OPTIONS …Please make sure that you are using Sun JDK… because the JAVA_OPTIONS which you are using -XX:MaxPermSize=256m -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseConcMarkSweepGC are specific to SUN JDK.
So if you will start your Server using JRockit JVM then you will receive the same Warning messages because JRockit JVM does not have these JAVA_OPTIONS.
Additionally if you see that the Nodemanager is reachable in the admin Console still it is not able to connect then Please check the Managed Server log of the same time stamp.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
<Server subsystem failed. Reason: weblogic.security.SecurityInitializationException: Authentication denied: Boot identity not valid; The user name and/or password from the boot identity file (boot.properties) is not valid. The boot identity may have been changed since the boot identity file was created. Please edit and update the boot identity file with the proper values of username and password. The first time the updated boot identity file is used to start the server, these new values are encrypted.
weblogic.security.SecurityInitializationException: Authentication denied: Boot identity not valid; The user name and/or password from the boot identity file (boot.properties) is not valid. The boot identity may have been changed since the boot identity file was created. Please edit and update the boot identity file with the proper values of username and password. The first time the updated boot identity file is used to start the server, these new values are encrypted.
Still if the problem persists then please do the following :
Please Copy the “SerializedSystemIni.dat” file from “$DOMAIN_HOME/security” Location and Paste it inside “wlserver_10.3/common/nodemanager/security” (Means the NodeManager’s Security directory) Location. Then restart your NodeManager….
.
.
Keep Posting ๐
Thanks
Jay SenSharma
We are preparing the disaster recover details in oracle weblogic server.
1. The Oracle Application Server Disaster Recovery solution uses disk replication
technology for disaster protection of Oracle Application Server middle tier components.
2. Enterprise Deployments need protection from unforeseen disasters and
natural calamities. One protection solution involves setting up a standby site at a
geographically different location than the production site
3.The standby site may have equal or fewer services and resources compared to the production site.
4. Application data, metadata, configuration data, and security data are replicated to the standby site on a
periodic basis.
5. The standby site is normally in a passive mode; it is started when the production site is not available.
6. An Oracle Application Server Disaster Recovery configuration that is completely identical across tiers on the production site and standby site.
7. The production site and standby site have the identical number of hosts, load balancers, instances, and applications.
8. The same ports are used for both sites production & standby site.
In our disaster recovery method we are using the Asymmetric topology.
1. In an asymmetric topology, the standby site can use less hardware.
2. Example:- the standby site can use fewer Application Server instances
create mount points and links on the hosts to the Oracle home
directories on the shared storage where the Oracle Application Server instances will be installed
These datas are enough for disaster recover for oracle weblogic server.
Availble only Oracle WebLogic Server 9.2 MP3 to 10.3
i am not sure where to post this question so i am using this space …sorry if this is nto the right place to post
I am seeing the below error in our App logs and we are not sure why this is happening ? Any help will be much appreciated.
weblogic.rmi.extensions.RemoteRuntimeException: Unexpected Exception
at weblogic.jdbc.common.internal.RmiDataSource_1030_WLStub.getConnection(Unknown Source)
at com.cashedge.utils.DBUtils.getConnection(DBUtils.java:55)
at com.cashedge.utils.DBUtils.getConnection(DBUtils.java:39)
at com.cashedge.event.EventDbOps.getSubscriber(EventDbOps.java:163)
at com.cashedge.event.EventPublisher.publishEvent(EventPublisher.java:34)
at com.cashedge.event.CEEventPublisher.publishManualHarvestRqCompletionEvt(CEEventPublisher.java:962)
at com.cashedge.event.subscriber.ceinternal.EventSubscriber.consumeManualHarvestEndEvent(EventSubscriber.java:363)
at com.cashedge.event.subscriber.ceinternal.EventSubscriber.consumeEvent(EventSubscriber.java:127)
at com.cashedge.event.EventDispatcher.run(EventDispatcher.java:171)
Caused by: java.rmi.ServerError: A error occurred the server; nested exception is:
java.lang.NoClassDefFoundError: weblogic/jdbc/rmi/SerialConnection_weblogic_jdbc_rmi_internal_ConnectionImpl_weblogic_jdbc_wrapper_JTSConnection_oracle_jdbc_driver_T4CConnection_1030_WLStub
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:234)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
… 9 more
Caused by: java.lang.NoClassDefFoundError: weblogic/jdbc/rmi/SerialConnection_weblogic_jdbc_rmi_internal_ConnectionImpl_weblogic_jdbc_wrapper_JTSConnection_oracle_jdbc_driver_T4CConnection_1030_WLStub
at weblogic.jdbc.wrapper.JTSConnection_weblogic_jdbc_rmi_SerialConnection_weblogic_jdbc_rmi_internal_ConnectionImpl_weblogic_jdbc_wrapper_JTSConnection_oracle_jdbc_driver_T4CConnection_1030_WLStub.getStubInfo(Unknown Source)
at weblogic.rmi.utils.io.InteropObjectReplacer.replaceObject(InteropObjectReplacer.java:40)
at weblogic.utils.io.ChunkedObjectOutputStream.replaceObject(ChunkedObjectOutputStream.java:40)
at weblogic.utils.io.ChunkedObjectOutputStream$NestedObjectOutputStream.replaceObject(ChunkedObjectOutputStream.java:141)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1116)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at weblogic.rjvm.MsgAbbrevOutputStream.writeObject(MsgAbbrevOutputStream.java:618)
at weblogic.utils.io.ChunkedObjectOutputStream.writeObject(ChunkedObjectOutputStream.java:64)
at weblogic.jdbc.common.internal.RmiDataSource_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:590)
at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:232)
at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
I have a doubt.
How to set Time outs for inactive session.
If i go to Deployment–>configuration tab–>Session Timeout (in seconds)=3600
which states that “The amount of time (in seconds) that a session can remain inactive before it is invalidated”.
There is one more parameter in datasource–>configuration–>connection pool–>Inactive Connection Timeout:0
Right now im confused which parameter to set or is there any other parameter for weblogic
I have created connection pooling there are 300 active sessions but there are 900-1000 total session created in weblogic
There are lot(1500-2000) of inactive jdbc connections created at databse end and those inactive jdbc connections are increasing continuously
we undeploy the application still inactive jdbc connections are created at database end.
plz help me how to reduced inactive jdbc connections which are continuously increasing
is there any more parameter which we need to tune according to conenction-pool values(Initial capacity:max capacity)
Hi Apurva, Deploymentโ>configuration tabโ>Session Timeout (in seconds)=3600
Above is actually HttpSession timeout (NOT related to the Jdbc Connection timeout.)
Datasourceโ>configurationโ>connection poolโ>Inactive Connection
When you set a value for Inactive Connection Timeout, WebLogic Server will forcibly return a connection to the data source when there is no activity on a reserved connection for the number of seconds that you specify. When set to 0 (the default value), this feature is turned off.
A leaked connection is a connection that was not properly returned to the connection pool in the data source. To automatically recover leaked connections, you can specify a value for Inactive Connection Timeout on the JDBC Data Source.
But even after setting the “Inactive Connection timeout” to some value if you are seeing the same behavior then please try to use the “Latest Jdbc Driver” and also contact your Database administrators because many times the Database do not close the open cursors properly. As i don’t think any further tuning is required from WebLogic side.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
August 3rd, 2010 on 12:06 am
What are the causes for out of memory in weblogic?
How can we resolve except by increasing the memory size?
Is there any particular auromated scripts are there to alert the admins before out of memory arrives? If so please provide me.
where we can see the memory args in console?
thnx
venu
August 3rd, 2010 on 12:11 am
Hi Venu,
OutOfMemory investigation is a very huge topic. Some of the related posts are available in http://middlewaremagic.com….still there are a lots of varieties we find in this kind of issues. It is always best to open a Ticket with Vendor Support team in case of any JVM Crash or OutOfMemory analysis. Because it requires a lots of data. Which is collected and analyzed using different tools and java_options.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
August 4th, 2010 on 11:10 am
Hi Joy,
Can you please let me know WebLogic Threading Model and also please let me know different kind of threads that can be ignored in the thread dump like waiting for request.
Thanks in advance.
August 4th, 2010 on 1:17 pm
Hi Tejaswi,
I will try to develop a Post on Thread Dump Analysis. It’s a very vast topic. I thought of writing a post on it…but every time it got postponed. Soon i will develop a Post on it. The problem is …To explain the Thread Dump analysis i m collecting some good real time Problematic Thread Dumps right now which is taking time.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
August 4th, 2010 on 10:09 pm
Hi Jay,
Can you provide me step by step installation of Web Center?
Thanks in Advance,
Venu
August 4th, 2010 on 10:38 pm
Hi Venu,
I m very sorry but right now …we are not moving towards other technologies and Application servers for some more time. But soon we will start eding Postings on Many other technologies as well… including “Web Center”.
Very Sorry for your Inconvenience.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
August 12th, 2010 on 7:56 am
Hi,
Can someone help me on how to rotation the LOGS in weblogic for applications?
Actually i was asked to rotate the logs like :
“rotate every 24hrs and store for 7 days”
Please help me where can i do this in weblogic side.
Thanks much
-Arun
August 12th, 2010 on 10:06 am
Hi Jay,
Yeah – You’re correct.
Everything seem to be default in the console.
Let me explain exactly what’s my issue –
I tried deploying the code , but its failing with error like
Deployment service servlet encountered an exception while handling request of type “app_upload”.
Exception is: “No space left on device”./app/ample.ear’ for application ‘ample’. The specific error is: No application files exist.
So I’ve loggind into the LINUX machine , and observed as /opt filled to 100%
Setup of my project:-
OS : LINUX machines
Domain path : /opt/weblogic/domains
Logs path : /opt/weblogic/logs
What makes my /opt filled 100% ? – observed like particularly this application “ample” writing huge logs as
11G – /opt/weblogic/logs/ample
And we have logs of june , july and present august , SO I’ve cleaned up the logs of june & july – and now /opt down to 70%.
And finally i’m able to deploy the code successfully.
Now the client asked me to rotate the logs like โrotate every 24hrs and store for 7 daysโ – To my understand i think with this rotation , the logs would store upto 7 days only
I am not sure where we can apply this , initially even i observed the console which you have mention here , but thinking can we do it somewhere in server side?
Please let me know incase of clarifications
Thanks
-Arun
August 12th, 2010 on 9:50 pm
Okay – so making changes on console side means as you told previously the steps would work?
Those initially steps would satisfy my client’s request ?
Right ? Or do we have any other location on console to update this logs ?
Please let me know
Thanks.
August 18th, 2010 on 10:34 am
Hello Wonder team,
I have an application that is running on Weblogic 9.2.2 on unix platform. The application that i work on interacts with another application to transmit/recieve data over a webservice. My application is using weblogic webservices to generate the client (stubs) code. The application that we interact with has three different webservice calls out of which the client application (My application) is able to unmarshall or de-serialize the webservice response. However the response of one call is unable to be de-serialized.
When i turned on the weblogic webservice debugging and reviewed the incoming soap response which the client application is unable to de-serialize, i found that the namespace prefix is missing from each node.
The response which the client applicaiton is able to de-serialize successfully has the namespace prefix to each and every node of the web service response.
Does weblogic 9.2.2 require a namespace prefix to be present at each and every node. Is there a way for the client application to de-serialize the response correctly even if the namespace prefix is not present in each and every node. I apologize for not giving you any log info. I will update with the log info tomorrow but if i was able to explain the problem clearly any inputs from you experts will be greatly appreciated.
Regards,
Surya
August 18th, 2010 on 11:11 am
Hi Surya,
At the client side you can add a WebService Handler with the following code to remove the NameSpaces from the XML message:
Option1). U can force the Stream to use the default Namespace at client side:
HashMap NamespaceMap = new HashMap();
NamespaceMap.put(“http://your.desired.namespace/”, “”);
XmlOptions xo = new XmlOptions();
xo.setLoadSubstituteNamespaces(NamespaceMap);
xo.setUseDefaultNamespace();
System.out.println(yourXmlDoc.xmlText(xo));
Option2). You can add a Name Spce in the XML message at the Client Side Handler…using XMLCursor:
XmlCursor cursor= targetObject.newCursor();
cursor.toNextToken();
cursor.insertNamespace(“myprefix”, “http://my.name.space”);
cursor.insertNamespace(“xsi”, “http://www.w3.org/2001/XMLSchema-instance”);
cursor.dispose();
.
.
Keep Posting ๐
Thanks
Jay SenSharma
August 19th, 2010 on 6:39 am
Thanks Jay for your response. If you don’t mind i would like to understand why should i be writing a handler and why does weblogic not process the weblogic response if the namespace prefix is not included in the soap response.
If you can clarify this it will help me understand the issue better.
Thanks for your time.
August 19th, 2010 on 11:18 am
Hi Schinta,
Ideally WebLogic generated Clientside artifacts should be able to process both the responses (with or without NameSpaces). But i m surprised that…Why and How the WebService operation is developed in such a way that 2 Operations will have the NameSpaces and 1 operation is without having the NameSpace?
Have u generated the clientartifacts using the “clientgen” utility recently. I just wanted to make sure this because sometimes if we change any NameSpace…then We Must regenerate the Client Artifacts.
Can u please let me know one more thing…your Client Side artifacts are JAXWS or JAXRPC type? WLS9.x doesnt support JAXRPC WebService …but It is Possible to deploy the JAXWS Client in WLS9.x…. So i just wanted to make sure that your ClientSide Artifacts are JAXWS style or JAXRPC Style?
.
.
Keep Posting ๐
Thanks
Jay SenSharma
August 19th, 2010 on 8:16 am
Hi Jay,
Thanks for the response. I posted a response to your comment but was unable to see it. So attempting to send my follow up questions.
Is there an apparent bug with weblogic 9.2.2 while processing soap responses with out the namespace prefix ? Ideally i don’t want to be writing a Handler to process the incoming response. I am told by the service provider whom we interact with that they are able to process the soap response even though there is no namespace prefix. But they are using axis 1.4.
I would like to understand why weblogic doesn’t parse the incoming soap response without namespace prefix and if there are any alternatives to resolve the issue without writing the handler, i would like to review that.
Once again i sincerely thank your quick response.
Regards,
Surya
August 20th, 2010 on 3:51 am
Hi Jay,
I have always used weblogic’s clientgen to generate the stubs. and as per weblogic documentation it reads “Clientgen Generates the JAX-RPC Service stubs and other client-side files used to invoke a Web Service”
Regards,
Surya
August 20th, 2010 on 1:25 pm
Hi Surya,
Yes, you are right in WLS9.x “clientgen” you wont see any option to generate the JAXWS stype of Artifacts … This feature is available from WLs10 onwards …where you can specify the type=”JAXWS” or type=”JAXRPC” to generate different types of Artifacts for Client.
but i m much interested to know Why & How your WebService has 2 Operations with nameSpace and One Operation without NameSpace…If i will be able to know this then i can try to reproduce this issue at my end to debug this issue.
.
.
keep Posting ๐
Thanks
Jay SenSharma
August 21st, 2010 on 6:03 am
Hi Jay,
As mentioned in my original problem, I am just the consumer of the webservice. When i consume the webservice from the webservice provided,
I have observed in the weblogic.out ( after turrning the soap debugging) that one response doesn’t contain the namespace prefix and other contains the namespace prefix
My understanding is that this is a service provider issue. However, i also want to understand why is the soap response not being de-serialized.
Any insight from you will be greatly appreciated.
Webservice response without namespace prefix Log below
<env:Envelope xmlns:env=”http://schemas.xmlsoap.org/soap/envelope/”><env:Header/><env:Body><m:executeBusinessActionResponse xmlns:m=”http://www.openuri.org/”><v03:responseDoc xmlns:v03=”http://www.oriservices.com/creditdecision/v031704″><responseSolitInfo><solicitationInfo><customer id=””><applicantName><firstName>MAURO</firstName><middleName/><lastName>BENEDETTI</lastName><genIdentifier/></applicantName><address><line1>446479 ALTA VISTA WY</line1><line2/><city>DALY CITY</city><zipCode><basic>94014</basic><extended>1111</extended></zipCode><state>CA</state></address><dob/></customer><header><authenticationCode>000</authenticationCode><status>Y</status><solicitationNumber/><sourceCode1>D3BK</sourceCode1><sourceCode2>DFLT</sourceCode2><sourceCode3>DFLT</sourceCode3><sourceCode4>DFLT</sourceCode4><cellCode>6WK</cellCode><sourceListCode1/><sourceListCode2/><remail1>DFLT</remail1><remail2>DFLT</remail2><remail3>DFLT</remail3><remail4>DFLT</remail4><second1>DFLT</second1><second2>DFLT</second2><second3>DFLT</second3><second4>DFLT</second4></header></solicitationInfo></responseSolitInfo></v03:responseDoc></m:executeBusinessActionResponse></env:Body></env:Envelope>
Webservice response with namespace prefix. Log below
<env:Envelope xmlns:env=”http://schemas.xmlsoap.org/soap/envelope/”><env:Header/><env:Body><m:executeBusinessActionResponse xmlns:m=”http://www.openuri.org/”><v03:responseDoc xmlns:v03=”http://www.oriservices.com/creditdecision/v031704″><v03:responseCreditDecision><v03:capturedApplicationId>100809703958</v03:capturedApplicationId><v03:applicationTrackingId>100809703958</v03:applicationTrackingId></v03:responseCreditDecision></v03:responseDoc></m:executeBusinessActionResponse></env:Body></env:Envelope>
Regards,
Surya
August 21st, 2010 on 6:06 am
Jay,
I am unable to post the request and response even after following the instructions. Is there an email id that i can send the webservice response that i recieve from the service provider..
Cheers,
Surya
August 21st, 2010 on 8:30 am
Hi Surya,
I have sent you a TestMail in your Gmail address. You can reply to that with your SOAP Request/Response text. I was just wondering if you can send me the WSDL file of yours then it will be really great. I will try to Generate a Mock WebService from that WSDL to see WHy & How the Name Spaces are available for 2 Operations but not for the Third Operation.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
August 21st, 2010 on 9:13 am
Thanks Jay. I will send you the info shortly.
Cheers,
Surya
August 21st, 2010 on 10:44 am
Hi Jay, I sent the requested info to you. Please do let me know if you need anything else.
Regards,
Surya
August 22nd, 2010 on 8:50 am
Hi Surya,
It looks like there is something seriously wrong with the WebService or the WSDL …Because When I used WSDLC on your WSDL file to generate a Mock webservice … I Saw that that is only one Single Operation available inside your WebService Like following:
(Description of WSDLC: http://middlewaremagic.com/weblogic/2009/12/18/how-to-build-a-webservice-from-a-wsdl/
AND
http://middlewaremagic.com/weblogic/2010/04/04/building-jms-based-webservice-suing-top-to-bottom-appraoch/)
——————————————–
package ws;
import javax.jws.WebService;
import weblogic.jws.*;
@WebService( serviceName=”ACSService”, targetNamespace=”http://www.openuri.org/”, endpointInterface=”ws.ACSServiceSoap”)
@WLHttpTransport(contextPath=”ACSService”,serviceUri=”ACSService.jws”,portName=”ACSServiceSoap”)
public class ACSServiceSoapImpl implements ACSServiceSoap {
public ACSServiceSoapImpl() {
}
public com.oriservices.creditdecision.v031704.ResponseDoc executeBusinessAction(com.oriservices.creditdecision.v031704.ActionDoc actionDoc)
{
return null;
}
}
——————————————–
I can see only one Operation (Method) generated using the WSDLC task. Are u sure that u are using the Correct WSDL? I am sending you the ANT file which i used to generate the MOCK Service from your WSDL. Attached in the Mail…
Please run the “setWLSEnv.sh” before running the ANT script attached.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
August 24th, 2010 on 3:23 pm
Customer is facing Slow WLST Response on WLS 9.2 mp2,
If he undeploys the application from the console, it takes 1 minute, the same application takes 15 minutes from WLST to undeploy. Issue is occuring in production.
The same does not happen in their test environment,
The following config (config.xml) in the managed server, when added to our testing environment (which originally only exists in production env.), slowed down the undeployment process from 1 minute to over 15 minutes:
thread-pool-percent-socket-reader 50 thread-pool-percent-socket-readers
ssl
login-timeout-milli 25000 login-timeout-millis
ssl
stuck-thread-max-time 200 stuck-thread-max-time
We suspect 50 is the problematic tag,
please help us understand why this issue happens.
Looking forward for your assistance.
August 24th, 2010 on 4:23 pm
Hi Arun,
There is nothing wrong with the WLST or WebLogic Server. We need to perform the OS tunning in this case. Please tune the following two Parameters at OS level: (Compare the following Parameters in your Both the Environments at OS level…)
1). Disk I/O
2). Swap Space
3). Increase the FileDescriptor Numbers (to Minimum of 8196 using “ulimit -n”)
WLST loads many classes and connects to the remote server to depoy/Undeoploy applications. Which requires sufficient File Descriptors to be available.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
August 25th, 2010 on 9:02 am
Hello Jay, Any luck with my problem?
Cheers,
Surya
August 25th, 2010 on 12:17 pm
Hi Surya,
Very sorry for delay. Whole week there are lots of maintenances happening in our organization. So i could not research more.
.
.
Thanks
Jay SenSharma
August 27th, 2010 on 8:20 am
No Problem. I will try and debug at my end too.. Will keep you posted if i find any resolution.
Take care,
Cheers,
Surya
September 7th, 2010 on 6:14 pm
Hello Jay,
As per the script( you gave me on oracle forum to create window service of weblogic 10.3.3) the make the service name like –beasvc ClassicDomain_Weblogic Server. But it do not start and gives message that “The beasvc ClassicDomain_Weblogic Server sevice on local computer is started and then stopped. Some Services stop automatically if they don’t have to do…..????
Vivek
September 9th, 2010 on 1:03 pm
Hi Vivek,
Please post your Install Windows Service script. Looks like there is something wrong. Also Make sure that the Windows Service name is correct. It means the WindowsService naming convention is “%DOMAIN_NAME%_%SERVER_NAME%”
Example Syntax :
“%WL_HOME%serverbinbeasvc” -install
-svcname:”beasvc %DOMAIN_NAME%_%SERVER_NAME%”
-depend: “beasvc myDomain_myAdminServer”
-delay: “800”
-javahome:”%JAVA_HOME%” -execdir:”%USERDOMAIN_HOME%”
-extrapath:”%WL_HOME%serverbin” -password:”%WLS_PW%”
-cmdline:%CMDLINE%
.
.
Keep Posting ๐
Thanks
Jay SenSharma
September 23rd, 2010 on 1:44 am
hello Admin
I was trying to migrate an application from 9.2 to 10.0 in development env in windows 2K Server, std edition.
When i do
java weblogic.appc app.ear
i get this following message
and when i try to deploy the app and try to start it from the admin console, i get this error
[HTTP:101216]Servlet: “SaaServlet” failed to preload on startup in Web application: “/SAA”. java.lang.NullPointerException at com.nvd.saa.SaaCache.hashSQL(SaaCache.java:333) at com.nvd.saa.SaaCache.loadCache(SaaCache.java:245) at com.nvd.saa.SaaServlet.init(SaaServlet.java:572) at javax.servlet.GenericServlet.init(GenericServlet.java:241) at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:282) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(Lweblogic.security.acl.internal.AuthenticatedSubject;Lweblogic.security.acl.internal.AuthenticatedSubject;Ljava.security.PrivilegedAction;)Ljava.lang.Object;(Unknown Source) at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:63) at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58) at weblogic.servlet.internal.StubLifecycleHelper.(StubLifecycleHelper.java:48) at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:504) at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1830) at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1807) at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1727) at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2890) at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:948) at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:353) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60) at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200) at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60) at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:26) at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212) at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:154) at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80) at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:566)
can you please help me
thanks in advances
September 23rd, 2010 on 9:15 am
Hi Rakesh,
If you will see the below line of Exception:
java.lang.NullPointerException at com.nvd.saa.SaaCache.hashSQL(SaaCache.java:333) Which clearly indicates that the NullPointerException is being thrown by your Application Code “SaaCache.java” at line number 333. So first of all you need to put some System.out.println() statements before and after that line of code to findout which object is actually becoming NULL. Then only you will be able to find out why the Object is Becoming NULL. As this error has nothing to do with WebLogic …your Application Developers will be able to Find out the cause.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
October 7th, 2010 on 10:16 pm
Hi Jay,
Can you answer my qn. at
http://forums.oracle.com/forums/thread.jspa?threadID=1554711
Thanks
Vijay
October 8th, 2010 on 12:57 am
Hello Admin,
I am unable to start managed servers in weblogic 10.0 in development env in windows.
I have created managed servers from both the config wizard and also through admin console and assigned them to clusters. First time they start normally to RUNNING MODE. But after a few seconds, it changes to FAILED. And when i start again, they stay in FAILED state itself.
I never had a problem in weblogic 8.1, but 10 seems to be different.
I have assigned both the managed servers to the same machine and also to the cluster.Didn’t assign the admin server to any machine or cluster.
Also, i get this following message in the admin server command prompt.
Can you help please
Thanks in Advance
October 8th, 2010 on 1:50 am
Hi Jay,
one of our managed server in a cluster crashed generating core and err pid file.Can you please brief out different ways to analyse core file generated in unix to find out culprit for crash..
Thanks in advance,
Ramireddy.
October 8th, 2010 on 10:41 pm
i will bring this issue during our chat on Sunday.
This is Rakesh by the way
Thank you
October 16th, 2010 on 6:54 am
Hi,
We have 1 cluster with 2 managed server running on the same box.We use HP openview to monitor the state of the servers.SO whenever any one of server goes down, we get an email alert and then we manually restart them.The problem is we want to automate this problem. I mean whenever any instance goes down and Hpopenview detects it ,servers should be started automatically.
Any guidelines or instructions for this?
Thank you
October 16th, 2010 on 11:09 pm
Hi SinghJ,
Please configure your HP Openview tool in such a way that as soon as it detects the Failure of any server it executes the ANT script : http://middlewaremagic.com/weblogic/2010/03/08/starting-stoping-servers-using-ant/ to start the Failed Server.
Even u can use the JMX Approch to detect the Server Failure and using JMX only u can start the Failed Server: http://middlewaremagic.com/weblogic/2010/06/22/getting-all-server-state-info-in-9-x-jmx-style/
.
.
Keep Posting ๐
Thanks
Jay SenSharma
October 17th, 2010 on 4:09 am
Thank you Jay. U always been helpful for me.
October 19th, 2010 on 11:35 pm
Thanks Jay again, for the prompt response. I did send the request to development to check if they are using the latest log4j jar file.
As far as the load on this server box, this is a development environment and it never had any peak loads. The heap is almost always 70% free. We use 1GB as heap size for each JVM and we have 2 JVMS in the same box.
Pavan
October 19th, 2010 on 8:43 pm
Hello Jay:
You people have made somethings so easy for my new job. I learnt quite a bit from this website. Have few questions in WebLogic. I will post one by one.
We use a log4j.properties file instead of a log4j.xml file for logging. The log4j.properties file is placed in a location on the server and that path is added to the Weblogic classpath for it to load at startup.
The log4j logs are written sometimes and are not written sometimes to the output.log file. THIS IS MY ISSUE.
This development environment has been in use for over 2 years and the developers are saying we are seeing this issue recently. We are using WebLogic 9.2 MP3 on Solaris.
Here is a copy of our log4j.properties file. Hopeful you can spare some time for my issue.
============
log4j.rootLogger=debug, console, file
log4j.logger.org.apache=warn
log4j.logger.org.directwebremoting=error
log4j.logger.org.hibernate=warn
log4j.logger.org.springframework=debug
log4j.logger.com.wrox=debug
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern= %p [%c{6}] %m%n
log4j.appender.console.layout.ConversionPattern=%-5p %-30.30c{1} – %m%n
log4j.appender.console.threshold=debug
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.file=./applogs/output.log
log4j.appender.file.maxFileSize=100MB
log4j.appender.file.maxBackupIndex=40
log4j.appender.file.append=true
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} – %m%n
log4j.appender.file.threshold=debug
================
October 19th, 2010 on 9:20 pm
Hi Nagapavan,
Your “log4j.properties” file looks very good, I don’t see any issue in that. WebLogic Allocates some threads for logging may be sometime due to heavy load on the Application/Server some logs are not getting logged. Have u observed any such scenario when there was load on the Server and Logging didnt happened at your environment? Or Is it happening when the Operating System has a High I/O count?
How frequently this issue is happening? Have u tried to update the log4j.jar and it’s related Jars…I mean have u tried with the latest log4j Jars? Because configuration wise i really don’t see any issue.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
November 12th, 2010 on 5:56 pm
Hello Admins, im facing this issue when i try to Stop my app from weblogic console
Issue: Failure on stop deployment
WLS: 10.2
Thanx in advance for any help u can provide me about this issue
November 12th, 2010 on 8:37 pm
Hi Mauro,
All I guess at this Moment… It looks like u have some EAR Application in which u implemented some “ApplicationLifeCycleListener” And Your code is trying to Access the EJB Reference inside the preStart() or postStart() method of that Listener. In a Clustered Env when u are trying to stop your Application that time the EJBs are getting undeployed first so the postDeploy() of your Listener may be getting the Null reference of the EJB ….
Above all is my guessing so far from the StackTrace…. U need to check your ApplicationLifeCycleListener. You can check it inside your “<EAR_FILE>META-INFapplication.xml” Is there any Listener defined or Not….If yes then That Listener is actually causing the issue.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
November 12th, 2010 on 9:17 pm
Thanx Jay for ur reply, i have a listener defined in my application-weblogic.xml
And i use this ApplicationLifeCycleListener in the startup of my app with the postStart method to init loggers and params load from data base.
But i dont use the preStop or the postStop method of this ApplicationListener.
Thanx for ur reply again
November 12th, 2010 on 9:51 pm
Hi Mauro,
I again lookedup at the Exception Trace … This time i suspect that there may be something wrong with the EJB which is available as part of “AlertasEJB.jar” as well… because i can see that the Deployment (Not undeployment) time exception:
1). Is this Jar/Application getting deployed properly in a Non-Clustered Environment?
2). The EJB/EJBs which are placed inside this “AlertasEJB.jar” all the EJBs have been decalered as <home-is-clusterable> And/Or <stateless-bean-is-clusterable> or similar Tags for all the Beans? Inside “weblogic-ejb-jar.xml” file
.
.
Keep Posting ๐
Thanks
Jay SenSharma
November 12th, 2010 on 11:33 pm
Hello Jay,
1) the server is a clustered environment… there are 2 clusters in the server
2) inside weblogic-ejb-jar.xml i dont have those tags that u mention ๐
Are those tags necessary in a clustered server?
November 12th, 2010 on 11:51 pm
Hi Mauro,
It depends on which kind of bean we are trying to deploy. Stateless/Stateful/Entity…. Please refer to know more on this Why and wneh these tags are required…: http://download.oracle.com/docs/cd/E12839_01/web.1111/e13719/ejb_jar_ref.htm#insertedID110
.
.
Keep Posting ๐
Thanks
Jay SenSharma
November 13th, 2010 on 7:02 am
Thanx so much Jay, i m gonna read that link that u provide me ๐
November 13th, 2010 on 11:30 am
Hi Floks,
I need some pointer for taking a Thread dump while JVM crashes.
I was wondering like we have two option one is OnErrorShowMessageBox and onError these option.
Where showmessagebox is not recommended for OS like Unix base.
So is there any alternate way to take thread dump or we can create our custome debug to take thead dump or take multiple operation of java.
Hope I put my query in correct.
Reagrds,
Kal.
November 17th, 2010 on 4:45 am
hi jay
is possible that those *. py you write on the site, are accessible for download?
November 17th, 2010 on 9:41 am
Hi Vigaros,
Yes all the WLST Scripts present in middlewaremagic can be used just by copying and pasting it in any suitable editor. As earlier we just uploaded the Screenshot of the WLST Script to to get the Application State, you were not able to use it properly, So now we uploaded the Code version of the same script in the post. http://middlewaremagic.com/weblogic/?p=1473
We have sent you a copy of the same WLST Script in your E-Mail, you can use that as well.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
November 18th, 2010 on 4:16 pm
Hi MWM,
We have installed 32-bit installer of Oracle WebLogic 10.3.3 + OFMW 11g (11.1.1.3) in Solaris Sparc 64-bit machine.
My query here
1. What are the implications of using a 32-bit installer in 64-bit server?
2. Will there be any performance issues?
3. Should the Java code base be build by 32-bit jdk as 32-bit installer uses 32-bit jdk within itself.
I request you to clear my doubts.
Thanks,
Babu
November 18th, 2010 on 11:46 pm
Hi Babu,
Generally, the benefits of being able to address larger amounts of memory come with a small performance loss in 64-bit VMs versus running the same application on a 32-bit VM. This is due to the fact that every native pointer in the system takes up 8 bytes instead of 4. The loading of this extra data has an impact on memory usage which translates to slightly slower execution depending on how many pointers get loaded during the execution of your Java program. The good news is that with AMD64 and EM64T platforms running in 64-bit mode, the Java VM gets some additional registers which it can use to generate more efficient native instruction sequences. These extra registers increase performance to the point where there is often no performance loss at all when comparing 32 to 64-bit execution speed.
The performance difference comparing an application running on a 64-bit platform versus a 32-bit platform on SPARC is on the order of 10-20% degradation when you move to a 64-bit VM. On AMD64 and EM64T platforms this difference ranges from 0-15% depending on the amount of pointer accessing your application performs.
The maximum theoretical heap limit for the 32-bit JVM is 4G. Due to various additional constraints such as available swap, kernel address space usage, memory fragmentation, and VM overhead, in practice the limit can be much lower. On most modern 32-bit Windows systems the maximum heap size will range from 1.4G to 1.6G. On 32-bit Solaris kernels the address space is limited to 2G. On 64-bit operating systems running the 32-bit VM, the max heap size can be higher, approaching 4G on many Solaris systems.
As of Java SE 6, the Windows /3GB boot.ini feature is not supported.
If your application requires a very large heap you should use a 64-bit VM on a version of the operating system that supports 64-bit applications.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
December 2nd, 2010 on 12:25 pm
after the log management, there is no processing ahead, can you please help Admin
Thanks
December 2nd, 2010 on 6:01 pm
Hi Admins,
Could you please help me with the answer of the following question regarding JDBC connection pool?
Q. I have 10 database connections in my WLS JDBC connection pool with maximum capacity defined as 10. All 10 connections are in use now. What happens if the 11th database connection request comes?
Thanks
Sanjay
December 2nd, 2010 on 6:19 pm
Hi Sanjay,
If Max Capacity of the connection pool is 10, And if all the 10 connection objects are being used by 10 Different clients. Now when the 11th client requests for a database connection from the Datasource …In that case the Client will get “ResourceLimitExceededException” thrown by the Connection Pool.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
December 2nd, 2010 on 6:22 pm
Hi Sanjay,
You would get some error messages in the log file stating that connection pool has reached maximum capacity of pool, may be with the particular connection pool.
Regards,
Ravish Mody
December 2nd, 2010 on 7:42 pm
Thanks Ravish & Jay for your comments.
December 2nd, 2010 on 10:34 pm
hello Admin,
the env is weblogic 9.2.2.0, in windows 2k3 and in windows QA environment.
I am trying to start the admin server. Since the env is QA, after i go to start and bea products and start the admin server, I enter the weblogic username and password at the command prompt,
it loads the license file โlicense.beaโ
then the server state is changed to STARTING
it initializes the self-tuning thread pool and then
it gives the log management,
and after this this there is no processing ahead, it gets stuck there
The ADMIN SERVER isnโt starting. i waited for 1 hour and tried it several times. It didnโt start.
I checked the log files, and what i could notice is that there was only 1 access.log, one AdminServer.log and one Domainsaaqa.log file and these log files are up to 4.5 MB each.
There are no other log files. like access.log070, etc. I am guessing that the log files arent being rotated. Is there a way to correct this ???
so, is this causing the problem or is there any other reason ?
if that is the problem, is there a way to increase/rotate the number of log files ?
if the log file thing is not the reason, then can you please help me out with this issue ?
thanks
rakesh
December 2nd, 2010 on 11:20 pm
Hi Rakesh,
Please send us all the contents present inside the “config” directory present inside the “<DOMAIN_HOME>” and also please collect at least 4-5 thread dumps taken in the interval of 9-10 seconds each (Thread dumps must be taken at the time when server is not responding). Also please send us the Admin Server Log Directory contents as well.
E-Mail Address: contact@middlewaremagic.com
We will try to find out some useful informations from the above mentioned files.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
December 2nd, 2010 on 11:49 pm
Thanks Jay,
Just solved the issue.
What happened:
the admin server was stuck after log management step and it just hanged there. it wont go to the security step.
In the log file, the last step i can see was
IIOP Subsystem enabled.
So, i thought may be the ldap is corrupted
So, i renamed the ldap file in the admin server’s data folder.
Then, when i started the admin server, and after giving the details, it started creating a new ldap directory.
this solved the issue
Thanks Jay for your time and support
December 9th, 2010 on 8:44 pm
Hello magics,
I want to get how much seconds a transaction (mostly XA) lives on weblogic.
There is a way on console:
Server>Monitoring>JTA>Transactions
now you can see “transaction ID”, status, and seconds active.
Is there a way getting these statictics by java(JMX) or WLST?
December 14th, 2010 on 12:13 pm
we are frequently facing some issues with the deployments where allof a sudden the deployment goes to admin mode and then fails .
The deployemnet ( SKP.EAR ) all of a sudden changed to admin mode and then failed .
problem Description: we have a deploymnet ( Seraya.ear ) which was deployed in 2 manage servers and suddenly we found that deploymnet failed and when checked the ear file is missing from the stage folders for both manage servers .
weblogic version : 9.2
OS : Sun Solaris 10
<An exception occurred while registering the MBean null.
java.lang.IllegalArgumentException: Registered more than one instance with the same objectName : EMC:ServerRuntime=BusinessServer1,MessageDrivenEJBRuntime=SYPSonicQueueMDBListener_SYP_LOCAL_SUBMISSIONQ_DEST,Name=SYPSonicQueueMDBListener_SYP_LOCAL_SUBMISSIONQ_DEST,ApplicationRuntime=SYPSonicQueueMDBListener,Location=BusinessServer1,Type=EJBPoolRuntime,EJBComponentRuntime=SYPSonicQueueMDBListener new:weblogic.ejb.container.monitoring.EJBPoolRuntimeMBeanImpl@114180f existing weblogic.ejb.container.monitoring.EJBPoolRuntimeMBeanImpl@127670c
at weblogic.management.jmx.ObjectNameManagerBase.registerObject(ObjectNameManagerBase.java:152)
Please help us to fix this recurring issue :
– errors in log files stating " An exception occurred while registering the MBean null. "
thanks,
kiran
December 15th, 2010 on 10:39 pm
hello Jay,
is there a way to apply patches to weblogic without restarting the admin server of the weblogic server ???
December 15th, 2010 on 11:27 pm
Hi Rakesh,
We are sorry to say but without restating all the servers the patch would not be applied as because weblogic has already loaded the buggy classes in it’s classloader, thus to we have to restart the servers to let them know that there is a new class which is available and weblogic would load that.
However to avoid the down time for the application in production environment you can use the Rolling Bounce the servers (i.e shut-down one server and then restart it again so that other servers in the cluster can handle the load for the application and then do the same thing with other server one by one)
Note: The patch is only applied to those servers which have been restarted
Hope above information would help you.
Regards,
Ravish Mody
December 22nd, 2010 on 4:05 am
hello,
anyone know where I can download “the guardian” for installation in weblogic?
not located in the web of oracle-download page….
thanks
December 22nd, 2010 on 10:48 pm
Hi Vigaros,
“Gurdian” tool is now available to download via a valid support contract with Oracle. It is not publicly downloadable. Once you login to the Oracle Support Portal, The Guardian resource center is located in the knowledge link/tab of My Oracle Support under “Tools and Training” > “Diagnostic Tools”
You must have a current support contract with Oracle for your BEA software in order to download Signature Patterns and Guardian product updates. Sunit has pointed the correct link above.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
December 22nd, 2010 on 10:27 pm
Hi,
Please follow the note on below link:
http://www.oracle.com/bea/support.html
Note: Oracle is pleased to announce that Guardian is now available though My Oracle Support effective February 2, 2009, to customers running BEA Software who have an active support contract.
Please go through the link and if you have support license to use Oracle Weblogic Server. You will find the way to get the Gaurdian tool as mentioned in the link.
Thanks,
Sunit
December 22nd, 2010 on 10:35 pm
Hi Sunit,
Welcome to Middleware Magic.
Guess what, you have just earned bonus 5 Magic Points for giving the answer for Vigaros question.
Regards,
Ravish Mody
December 23rd, 2010 on 4:34 am
hello admin,
the env is windows with weblogic 9.2.2 in dev env
We have a 16GB RAM and 80 GB hard drive on a VM where weblogic is installed.
So, i increased the memory arguments to 2048m as in -Xms2048m and -Xmx2048m for the domain and while starting the server, it says this error has occurred
Error occurred while initializing the VM
Could not reserve enough space for object heap
could not create the Java virtual machine
so what is the reason for this ???
is this because the maxpermsize is still 128, or something ???
i tried to increase that too, but didnt work
can you help me resolve this
Thanks in advance
Rakesh
December 23rd, 2010 on 2:16 pm
Hi,
In Windows 32 bit Systems you can not assign that much heap. It will start crying at 2GB. Please refer to the post: http://middlewaremagic.com/weblogic/?p=4456
The Theoretical limitation of Maximum Heap size for a 32 bit JVM is upto 4GB. Because of the Memory Fragmentation, Kernel Space Addressing, Swap memory usages and the Virtual Machine Overheads are some factors JVM does not allow us to allocate whole 4GB memory for Heap in a 32 bit JVM. So usually on 32-bit Windows Operating Systems the Maximum can be from 1.4 GB to 1.6 GB.
.
If we want a Larger memory allocation according to our application requirement then we must choose the 64-bit operating systems with 64 bit JVM. 64-bit JVM provides us a larger address space. So we can have much larger Java Heap with the increased number of Threads allocation area. Based on the Nature of your Operating system in a 64 bit JVM you can even set the Maximum Heap size upto 32GB.
Example: -Xms32g -Xmx32g -Xmn4g
.
.
Keep Posting ๐
Thanks
Jay SenSharma
January 5th, 2011 on 12:41 am
Hello Jay/Ravish,
Happy new year !!!
The environment is production, windows 2K3, weblogic 9.2.2.
There is an application called eCounsel in production environment. The application has a login and while people are trying to login into the app, they are getting an error saying that the login has failed.
Below is the error message from the logmessage.out from the server.
12/30/2010 09:19 PM: Logged in user wilcoam1. Client IP Address = 165.140.50.71. User Agent = null.
Help file path = –http://EMVXANTHUS:7005/suite810/help/eCounsel/ecounsel.htm–
Help file path = –http://EMVXANTHUS:7005/suite810/help/eCounsel/ecounsel.htm–
12/31/2010 05:39 PM: Logged in user dawsoma5. Client IP Address = 165.140.50.80. User Agent = null.
Help file path = –http://EMVXANTHUS:7005/suite810/help/eCounsel/ecounsel.htm–
12/31/2010 07:30 PM: Logged in user mujadpa1. Client IP Address = 165.140.50.112. User Agent = null.
12/31/2010 07:31 PM: eCounsel error: The application could not download/display the specified file. The file or its contents were not found in the specified location.
Exception class: java.lang.Exception
Stack Trace:
java.lang.Exception: The application could not download/display the specified file. The file or its contents were not found in the specified location.
at com.bsi.control.document.DownloadDocumentFileCommand.processCommand(Unknown Source)
at com.bsi.control.BaseCommand.execute(Unknown Source)
at com.bsi.control.BaseRedirect.processRedirect(Unknown Source)
at com.bsi.control.BaseRedirect.redirect(Unknown Source)
at com.bsi.servlets.FileDownloadServlet.performTask(Unknown Source)
at com.bsi.servlets.FileDownloadServlet.doGet(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3244)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2010)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1916)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
January 5th, 2011 on 9:43 pm
Hi Rakesh,
It’s a Clear Application error not the WebLogic Issue…see the below method execution which is happening while the error is occuring:
com.bsi.control.document.DownloadDocumentFileCommand.processCommand()
So you need to ask your Application Developers to look into the “DownloadDocumentFileCommand.java” class processCommand(). If your developers can put some Debug inside this method to findout from which location it is trying to download the Files, then the issue will be resolved in minutes.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
January 6th, 2011 on 10:51 pm
hello Jay,
I am getting an error while trying to start the server.
weblogic.management.managementexception: unable to obtain lock on …………. Server may already be running.
I checked the admin console but it inst showing up.
I wanted to restart the domain. But when i am trying to stop the admin console, it is showing some error.
I was trying to delete the AdminServer.lok file from the tmp folder in the domainservers.
How do i restart my admin server. I cannot get into the admin console as the console isnt working. but one of the applications deployed onto the managed server is working.
here is the layout:
weblogic production env 9,2,3 in windows 2k3 server.
Admin Server is present in one prod server vm, the application is clustered on to other two physical servers.
Thanks for the help in advance. How do i restart my server
Rakesh
January 6th, 2011 on 11:02 pm
Hi Rakesh,
Please send us the Server Log which has “weblogic.management.managementexception: unable to obtain lock on” error in the following address
contact@middlewaremagic.com
.
.
Keep Posting:)
Thanks
Jay SenSharma
January 6th, 2011 on 11:13 pm
In the Admin Server.log, its not showing anything. The last activity on it was on Jan 2’nd and after that nothing.
The server is running but i am unable to stop it or restart it.
When i try to stop the server, i cannot as it is showing some error and closing the command prompt automatically. When i try to start it, its showing the lock error and according to some forums, i tried deleting the AdminServer.lok file it is not gettting deleted saying that it is being used by other programs.
There is a node manager service for 9.2.3 running, i tried to stop it and delete the AdminServer.lok file, but i couldn’t delete it.
January 8th, 2011 on 1:27 am
hello Jay,
how do we make an admin server run in background in production server. even though we close the command prompt. I guess we need to set up beasvc, can you help me
thanks in advance
rakesh
January 8th, 2011 on 1:28 am
the env is production and in windows for weblogic 9.2.3
January 8th, 2011 on 11:07 am
HI Rakesh,
You can configure “WINDOWS SERVICE” to run your Server as Windows Service. as described in the following link: http://middlewaremagic.com/weblogic/?p=680….same steps will work for your AdminServer as well.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
January 22nd, 2011 on 2:44 am
Hello Jay,
is there a way to rename the password in the production environment.
The env is weblogic 9.2, windows production env.
The Admin Server for a domain is running in prod env, but i cannot see the admin console when i start it. when i try to start it from the start menu, it says server lock, which implies the Admin Server is running.
I tried to stop the server, but in order to do that, we need the username and password. But we dont know the password for the admin console for that domain.
Is there a way to change the password, without stopping the server.
like creatinga new user using a script or something so that we can login into the admin console
???
Thanks in advance
Rakesh
January 22nd, 2011 on 11:03 am
Hi Rakesh,
You can use the below mentioned steps to Change the Running AdminServers account:
Step1). open a Command Prompt and then run โsetDomainEnv.shโ or โsetDomainEnv.cmdโ.
Step2). Just for Safety Take a Backup of (C:bea103user_projectsdomains7001_Domainsecurity*DefaultAuthenticatorInit.ldift*) file โฆbecause in the Next Command which we are going to run is going to Create a New File โDefaultAuthenticatorInit.ldiftโ.
Step3). In the Command Window Move inside your Domainโs Security DirectoryโฆAnd then Run the Following Command:
Example:
C:bea103user_projectsdomains7001_Domainsecurity>java weblogic.security.utils.AdminAccount newAdmin newPassword .
Syntax: java weblogic.security.utils.AdminAccount <NEW_USERNAME> <NEW_PASSWORD>
NOTE:- There is a . (DOT) at the end of the Above command which represents the Current Directory. Here you can see that after this command Executes A new โDefaultAuthenticatorInit.ldiftโ file will be created in the Current Directory.
IMPORTANT STEP [This Step 3-A) U Need Not to Follow If you Already Forgot your Admin Credentials]
.
.
Keep Posting ๐
Thanks
Jay SenSharma
January 24th, 2011 on 11:33 pm
Hello jay,
does this work for production env only ???
because i tried the above process where i know the username and password credentials and then i followed the above process, but the domain logs on only with the previous username and password.
I even restarted the domain, but didn’t work ???
January 25th, 2011 on 9:30 pm
Hi Rakesh,
Yes, it will work in Production environment as well.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
January 29th, 2011 on 1:26 am
HI Experts,
we have encountered an error while deploying the application to cluster.
”
#####Jan 27, 2011 7:23:35 AM PST# #Error# #Cluster# #vf1.oe.com# #managed1_PRD# #[ACTIVE] ExecuteThread: ‘0’ for queue: ‘weblogic.kernel.Default (self-tuning)’# ##WLS Kernel## ## ## #1296141815788# #BEA-000123# #Conflict start: You tried to bind an object under the name DatabaseSettings in the JNDI tree. The object from -8006252241513890912S:vf2.oe.com:[7021,7021,-1,-1,-1,-1,-1]:bv_fr:managed2_BVPRD is non-clusterable, and you have tried to bind more than once from two or more servers. Such objects can only be deployed from one server.#
i have checked the all mulicast test,it seems to be fine. i am using weblogic 10.3.2
Can you please have your comment
thanks
Arun
January 29th, 2011 on 11:04 am
Hi Arun,
The error code BEA-000123 has the following description
Description:
You tried to bind an object under the name bindName in the JNDI tree. The object bindObject is non-clusterable, and you have tried to bind more than once from two or more servers. Such objects can only be deployed from one server.
Cause
Your cluster is not homogeneous. Two servers in the cluster are providing different services under the same name bindName. If the object is non-clusterable, only one server in the cluster can provide this service.
Action
There are various options.
1. Make the object clusterable.
2. Change the JNDI name of the object under which it is bound.
3. Make sure the object gets deployed only on one server.
4. Deploy the service on all the servers.
However, when you bind it into the JNDI tree, set the replicate bindings property to false.
February 3rd, 2011 on 8:47 am
Hello there admins, its been a while since i post last time…
I have a new question for u related to logging, im using weblogic 10.2
My ear have an app.jar (with ejb3) and a webapp.war and i use log4j for logging in both. My problem is that logs generated in mi webapp.war are not been logged. But logs from app.jar yes… i setup log4j configuration in both applications.
There is some reason why app.jar is registering logs and my webapp.war dont? i really need to register action in webapp.war ๐ but the only thing registering in my webapp.log is when i run the application for the first time, but request to servlets dont.
If u have and example with log4j for and ear with ejb and war logging in separate files i will be very grateful.
Thanx in advance for any help
February 4th, 2011 on 9:17 pm
Hello felas… looking for answer regarding to my previous question i found the next:
” If you want to use separate log4j configuration files for Web applications and the EJBs, you have to place the Web application’s log4j file in the /WEB-INF/classes folder, and the EJB’s configuration file in the individual .jar files. This way the Web application will have visibility of its own log4j configuration file through its own class loader, and the EJBs will get their log4j configuration file through their individual class loader”
Can u explain me please what it means the next “and the EJB’s configuration file in the individual .jar files” ? should i put the log4j-ejb.properties next to META-INF and WEB-INF folders inside my ejbapp.jar? or inside WEB-INF?
For the record i put log4j.jar inside APP-INF/lib
After that how can i load log4j-ejb.properties and log4j-web.properties inside my java code?
Like this?
For EJB Module:
For Web Module:
And if i load the properties files from a directory… should i do it this way?
For EJB Module:
For Web Module:
Thats all i have…
thanx in advance for ur help…
๐
February 4th, 2011 on 9:52 pm
Hi Mauro,
Sorry for replying very late…I was quite busy for couple of days.
Reagarding separate Log4j Logging for different applications …there any many conflict statements present in google. I simple prefer using two separate log4j.xml files for logging my application data.
I developed a Simple Testcase which has a simgle “lig4j.jar” inside “EARAPPAPP-INFlib” and the EAR application contains one EJB Jar and a WebApplication. Both have their own log4j.xml files like “webLog4j.xml” and “ejbLog4j.xml”
I strongly suggest the above technique to generate separate logs ….Please try the TestCase which i uploaded in the following location: http://www.4shared.com/file/7ZQ4sjqn/SeparateLog4j_Logs_ForApps.html
Please lets us know if this is OK for you. It’s working fine for me and maintaining separate logs.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
February 4th, 2011 on 11:38 pm
Great!! Jay it works fine… finally i can generate separete logs, now im gonna implemented in my projects ๐
Admins u r the best ๐
February 7th, 2011 on 10:08 pm
Hi Jay,
Environment: QA
Weblogic: 10.3.0.0
JVM: Jrockit
Environment: Red Hat Linux
Background:
We had QA deployment on 02/04/2011. After that I restarted all 3 nodes one after the other.
Today, I observed that console logs of node-2 and node-3 are updated but node-1 console logs show Feb-05.
Infact, node-1 is not reachable, even though the state shows “running” in console.
This is the last thing I see in node-1 logs:
How do I troubleshoot this issue?
Restart node-1? But what could be the rootcause??
February 7th, 2011 on 11:35 pm
Hi Pradeep,
Please file a Console Bug with Oracle Support. Also if next time you want to get the correct status of server then try JMX or WLST. Donot trust on Admin Console. Many people have reported similar issue. But Oracle support was not much helpful in this case because this issue is very intermittent means 1/1000 cases.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
February 8th, 2011 on 12:27 am
Update:
Thanks Jay. I think you are correct. Because once I restarted node-1, the logs got updated. For now, I think the issue is fixed, but, I will surely open a case with oracle to see if they have some kind of fix for this issue.
BTW, did you observer this only in 10.3.0.0 or even in other versions as well???
Thanks,
Prasad
February 8th, 2011 on 12:45 am
HI Pradeep,
Once i saw one ticket (when i was in oracle support ) it was raised on WLS10-MP1 for the same issue.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
February 8th, 2011 on 1:07 am
ok I will follow your instructions and raise a ticket with oracle. Let us see what they get back with this time!
I will surely update this post when I receive an update from them.
Thanks,
Pradeep.
February 8th, 2011 on 1:54 am
hi,
Not sure where to start a new thread so posting question here
can someone please let me know how to determine the amount of memory that can be used by weblogic server on a host that has say 32 gb ram,or 64 gb ram?
is there a weblogic recommended theorotical calculation formula to figure out this number and ofcourse later on tune the server based on application req?
also, memory calculation based on processor bit size (32, 64 bit processor…i think there is a calculation something like 2 power 32 etc..but forgot the formula) and based on number of processors?
thanks in advance
February 25th, 2011 on 5:40 pm
hi jay and team,
I have small problem.I have a war file which has been deployed on weblogic 10.3.3.Its working fine.
The problem is when ever the user logs in to the application and access the database and then logs out from the application.
The thread of the user is still present even though he has logged OUT FROM T^HE APPLICATION.ie the thread for that user never get killed even if he logs out.
Is there any option which needs to be enabled or disabled in weblogic.
Because in a day if 300 -400 user gets logged in.Then at the end of the day,there are 300-400 active threads,even if the seesion is zero..
which is hampering the performance
Pls help,
Thanks in advance
Regards
Fabian
February 25th, 2011 on 6:00 pm
Hi Fabian,
From WLS 9.x self-tuning threads were introduced which would grow and decrease automatically, depending on the load. So if more users are coming in then more threads would be produced and once WLS notices it that now there is no need of these threads it would get reduces automatically.
Topic: Server Self-Tuning for Production Environments
http://download.oracle.com/docs/cd/E13222_01/wls/docs90/notes/new.html#1216270
However if you need to restrict this feature and want to define a number then you would have to go with workmanager, to get more information on that check out the below link.
Topic: WorkManagers
http://middlewaremagic.com/weblogic/?page_id=87
February 25th, 2011 on 8:06 pm
Hello Middlewaremagic team,
I am supposed to perform the below task and would need your help how to approach. Could you please help me in migration process.
1) I have weblogic domain “Hello” and 2 managed servers Hello1 and Hello2. Admin server and Hello1 are sitting on IP 172.XX.XX.100 and second managed server Hello2 sitting on 172.XX.XX.101. Now i have to move Admin server and managed server Hello1 to 172.XX.XXX.105. Can you please guide me.
2) Similarly if i am planning to move only second managed server Hello2 to IP 172.XX.XXX.108.. How will i do it…Could you please answer me. Thank you in advance.
Pleae reply me to tomezy@gmail.com.
Regards
Tom
February 25th, 2011 on 10:44 pm
Hi Tom,
The best way to achieve your requirement is to use the Domain template builder. To get more information have a look at the below links.
Topic: Creating Templates By Using The Domain Template Builder
http://download.oracle.com/docs/cd/E13179_01/common/docs103/tempbuild/index.html
Topic: Overview of the Domain Template Builder
http://download.oracle.com/docs/cd/E13179_01/common/docs103/tempbuild/OtherTools.html#wp1071289
Topic: Creating Domain Templates by Using the Domain Template Builder
http://download.oracle.com/docs/cd/E13179_01/common/docs103/tempbuild/tempbuild.html#wp1095888
Few things to remember:
1) Few things like JMS file store, log files etc would not be transfered with it, so take a backup of the original domain.
2) You should have WLS installed on the new box (172.XX.XXX.105).
3) Once you create a new domain using the template from the old domain which was having the previous configuration you have to change the startWeblogic.cmd/sh and give DOMAIN HOME with the new domain home on the new box (172.XX.XXX.105)
4) During creating the new domain using the template you can customize few things which you want for the new domain like IP address, Create more servers etc.
Let us know if you need any more help on it would try our best to help you with it.
February 26th, 2011 on 1:43 pm
hello guruz,
i have deployed a new war file on weblogic and in this war file, we have a doc file called APP_USER_MANUAL.this doc file is access by clicking on the hyperlink.
http://:/appdisk/links/APP_USER_MANUAL.doc. the requirement is that when i click on the link a pop up occurs to open or save the doc file.
Previously this entire application was on tomcat And This functionality used happens in tomcat.
I read some forums that suggests that i need to add the below code in web.xml for accessing ms office tools
doc
application/msword
i tried the above code.Restarted the managed server after changes.But still no results.
Pls help
Regards
Fabian
February 26th, 2011 on 1:50 pm
mime-mapping
extension> doc application/msword <mime-type
/mime-mapping
February 26th, 2011 on 9:08 pm
Hi Fabian,
This is regarding your previous query. http://middlewaremagic.com/weblogic/?page_id=2594#comment-2980
Did you notice that the issue is happening only in Internet Explorer and the same thing works fine in FireFox?
Try Fire Fox browser to see if it works fine..For me things are correct in ForeFox and the issue occurring only with IE only.
Means only in Internet Explorer only you will see that the Microsoft Word Document/ Microsoft Excel Sheets are directly being displayed in the WebPage on the browser. But in Firefox as soon as you click on the Link which points to a Word Document it Asks us to Open or Download the Word Document.
.
.
Thanks
Jay SenSharma
February 26th, 2011 on 7:45 pm
hello,
I am using Weblogic 10.3 and set “compress-html-template” attribute as true in application weblogic.xml file. After that when I access my JSP file from browser I don’t see any improvement in HTML file size rendered on my browser. I also checked it with HTTPWatch tool and not seeing any reduction in received file size even there are spaces, extra lines in rendered HTML file, not sure why.
my weblogic.xml file looks as below
?xml version=”1.0″ encoding=”utf-8″ standalone=”no”?
weblogic-web-app
xmlns=”http://www.bea.com/ns/weblogic/90″
xmlns:j2ee=”http://java.sun.com/xml/ns/j2ee”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd“>
jsp-descriptor
compress-html-template
true
/compress-html-template
/jsp-descriptor
context-root /bea_wls_internal /context-root
/weblogic-web-app
Thanks in advance
Fabian
February 26th, 2011 on 10:25 pm
Hi Fabian,
Please have a look at the below Post regarding “compress-html-template” Tag in weblogic.xml: http://middlewaremagic.com/weblogic/?p=5916
.
.
Keep Posting ๐
Thanks
Jay SenSharma
February 28th, 2011 on 1:11 pm
hi jay,
This is not working in my case.
I have Created WEB-inf folder in my war file.Added web.xml and weblogic.xml.Added the index.html file in
web.xml and added tags in weblogic.xml.But it neva worked for me.
In my war file this index.html page is generated from jsp pages.So is this tag restricted only to static html pages??
Regards
Fabian
February 28th, 2011 on 2:34 pm
HI Fabian,
The Tag โcompress-html-templateโ is only applicable for pure JSP pages which has “*.jsp” extension.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
March 1st, 2011 on 2:56 am
Thank you Ravish. I shall try it out and let you know in case of any issues.
March 4th, 2011 on 10:58 am
hi middleware magic team,
i m getting this warning msg everytime in my admin server
logs
Is there any serious prob??
Thanks in advance
Regards
Fabian
March 4th, 2011 on 11:01 am
Hi Fabian,
We are not able to see the WARNING which you pasted … Please paste the WARNING here as described in the following Image: http://middlewaremagic.com/weblogic/wp-content/uploads/2009/08/How_to_Post_Comments.jpg
Also let us know the Exact version of WebLogic which u are using.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
March 4th, 2011 on 12:45 pm
hi middleware magic team,,
Is node manager important in clustering??
its k na if i start all my managed server on foreground and do clustering??
now im getting this error on node manager
Mar 4, 2011 12:13:03 PM weblogic.nodemanager.server.Handler run
WARNING: Uncaught exception in server handlerjavax.net.ssl.SSLHandshakeException : [Security:090476]Invalid/unknown SSL header was received from peer ofaApp12.mm fsl.com – 172.30.0.12 during SSL handshake.
javax.net.ssl.SSLHandshakeException: [Security:090476]Invalid/unknown SSL header was received from peer ofaApp12.mmfsl.com – 172.30.0.12 during SSL handshake.
at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireException(Unknow n Source)
at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireAlertSent(Unknow n Source)
at com.certicom.tls.record.ReadHandler.fireAlert(Unknown Source)
at com.certicom.tls.record.ReadHandler.getProtocolVersion(Unknown Source )
at com.certicom.tls.record.ReadHandler.checkVersion(Unknown Source)
at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
at com.certicom.tls.record.ReadHandler.readUntilHandshakeComplete(Unknow n Source)
at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake(Un known Source)
at com.certicom.tls.record.ReadHandler.read(Unknown Source)
at com.certicom.io.InputSSLIOStreamWrapper.read(Unknown Source)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
at java.io.BufferedReader.fill(BufferedReader.java:136)
at java.io.BufferedReader.readLine(BufferedReader.java:299)
at java.io.BufferedReader.readLine(BufferedReader.java:362)
at weblogic.nodemanager.server.Handler.run(Handler.java:71)
at java.lang.Thread.run(Thread.java:619)
my node manager status is inactive now
my node manager crashing up with some or the other error everytime i deploy an application
Regrds
Fabian
March 6th, 2011 on 12:06 pm
Hi Fabian,
It is not necessary to use node manager to start a cluster and its perfectly fine to use the startup script of Managed server to start a cluster as the given command below
StartManagedWebLogic server_name t3://IP-address:port
where:
server_name:- is the name of the Managed Server you wish to start
IP-address:- is the IP address or DNS name for the Administration Server for the domain
port:- is the listen port for the Administration Server for the domain
Example:
StartManagedWebLogic MS-1 t3://10.10.10.10:7001
March 4th, 2011 on 12:47 pm
hi jay,
im using weblogic version 10.3.4
im getting this warning msg everytime
Mar 4, 2011 12:13:34 PM IST Warning Socket BEA-000450 Socket 404 internal data record unavailable (probable closure due idle timeout), event received -32
Regards
fabian
March 4th, 2011 on 2:07 pm
Hi Fabian,
Please refer to Rene’s reply on forum : http://forums.oracle.com/forums/thread.jspa?threadID=2183144
.
.
Keep Posting ๐
Thanks
Jay SenSharma
March 9th, 2011 on 3:19 pm
hi,
Thanks Jay and Ravish..
Im stuck in a small problem.
I have deployed a war file and the application is running fine.Now I have problem is while monitoring the application.Ie i need to find how many users are logged in(this i can find through goin to deployment–>clicking on the war file–>monitoring–>Webapplication–>session)but now how can i find the ipaddress of the user logged into the application.
I checked all the tabs under monitoring,but neva found any.
This command gives all the user accessing the application
netstat -an|grep 7003(managed server port)
but is it possible through console??
This was possible with OAS10g release2,from the console itself
Pls help
Regards
Fabian
March 9th, 2011 on 4:41 pm
Hi Fabian,
If you want to know the IP-Address of the Client who are hitting your application you can achieve that by going to the below console path
Servers –> -> Logging –> HTTP
Click on the Advanced link and add cp-i in “Extended Logging Format Fields:” and save it.
Example:
cp-i date time cs-method cs-uri sc-status
Now when the client hits your application and then you can get the IP-Address of the client in the access.log which can be found in “/servers/SERVER_NAME/logs”.
Note: access.log would not start writing till default size which is 8kb to passes, so you can use following parameter in the start-up script to start writing from the first hit
-Dweblogic.logging.bufferSizeKB=0
And for for session monitoring you can check out the below posts
HttpSession Monitoring using
Session Monitoring Using WLDF
March 9th, 2011 on 8:38 pm
hi Ravish,
Thanks for that solutions…it worked..thanks again
Now there is a second problem
application war file is deployed in weblogic, where the database connection string is in the war file itself and not comfigured in weblogic server level. everything is working fine. However the problem is that when the connections are established and then closed we get to see the inactive threads (inactive jdbc thin client)collected at database level. And in 20 mins more than 200 threads gets accumulated. We are of the impression that we cannot do anything from weblogic application server level because the connection string is inside the war file and we never configured the database connection string at weblogic server level. please suggest a solution to kills those inactive threads at database level.
regards
Fabian
March 14th, 2011 on 2:28 pm
Hi middleware team,
Last week i came up with new problem in weblogic,
In my weblogic console,My managed server status is unknown but i was able to access the application deployed on it.
I just restarted my admin server and managed servers,everything back to normal.
just want to ask,Y did the managed server status automatically turned into unknown.
Thanks in advance
Regards
Fabian
March 14th, 2011 on 10:05 pm
Hi Fabian,
Many times it happens that the AdminServer Loses the contact from NodeManager or with the Managed Server…so in that case it is not able to get the current state of the Managed Server properly and shows the State as UNKNOWN. (It is possible that the Managed Server might be running properly without any issue)…So in such scenario we must check any kind of WARNING messages in Admin/NodeManager/Managed Server Log…As well as we must investigate if there is any kind of Network glitch occurred on the given time stamp.
In Some of the Older versions of WLS (not remember exact version right now) but may be in WLS9.2 and WLS10 similar BUG was found. Investigating this kind of issue is very tough because these kind of issues are very intermittent and occurs once in a couple of months…or more.
.
.
Keep Posting:)
Thanks
Jay SenSharma
March 17th, 2011 on 2:02 am
Hi Guys,
I am facing an issue with Unit Of Order feature of Weblogic.I have a distributed Queue(Q1) which sends message to another distributed Queue(Q2).Before sending messages to Q2,I set unitofOrder property to my wlMessageProducer and send the message.
Everthing works in a single managed server.But when It is deployed in a clustered Env, and when we send in messages 1) all the messages are only processed by ManagesServer1’s Q1
2) If any messages made in to managedServer2′ Q1,all those messages fail to write to Q2 on either of the server;they fail with the following exception :
“weblogic.jms.extensions.JMSOrderException: hashed member of jms!Queue2 is jms!JMSServer001@Queue2 which is not available”
I checked both the managed servers and they were running.
These are the steps I followed while configuring the UOO on my distribyuted Queue :
Created a distributed Queue1,left the default values on it.
While sending the messages to the Queue2,I used WlMessageProducer to send messages and I did set the property called setUnitofOrder(passed a String).
On the connection Factory setting unchecked the Server Affinity Enabled.(for load balancing)
Is their any additional setting I need to make or which I might be missing.
Thanks
March 17th, 2011 on 7:34 pm
Hi Siva,
I would suggest you to have a look at the below posts and try to configure using the steps provided in team and see if that works for you.
Topic: Steps to Configure Uniform Distributed Queue (UDQ) on Weblogic Server
Topic: JMS Demo using WebLogic Uniform Distributed Queue (UDQ)
Regards,
Ravish Mody
March 17th, 2011 on 10:12 am
Hi Middleware Team,
I am new to Weblogic server and wanted to know about migratable targets.
the need of migratable targets,it’s functionality and it’s configuration and how the migration is to be done……
please help…..
thanks in advance
Regards,
Apurva
March 17th, 2011 on 6:29 pm
Hi Apurva,
To get all your answers would suggest you to go through the below post
Topic: Steps to Configure JMS Automatic Migration Using Consensus Leasing
Regards,
Ravish Mody
March 21st, 2011 on 10:42 am
Hi Ravish/Jay, greetings.
I have a problem. I have a Redhat linux server (I installed Red hat Enterprise Linux 5.2), I Installed weblogic 10.3. I created domain etc .
I have a windows machine (windows XP),and using putty I am trying to assess that Linux server (using putty-ssh), I am able to connect and do all kinds of operations.
I am not able to “telnet.
I am able to start the remote server using putty. But I am not able to see weblogic admin console from windows machine. I am not seeing any error at logs.Please help me.
Thanks a lot
Viswa
March 21st, 2011 on 5:06 pm
Hi Viswa,
If your Windows box is configured for telnet and if the telnet is enabled on your Linux 5.2 Box Still if you are not able to telnet the Linux5.2 box …Means Either the WLS Server is not listening on the port which you mentioned in the Telnet command….Or the WebLogic is listening to a Separate IP Address….(Check the config.xml to get the correct <listen-address>)
If the above case is not correct then it means the N/W in whcih your Linux5.2 Box is running is not allowing some communication from your Windows-XP box via some specific ports. So please make sure that there is no Firewall issue b/w your Windows N/W and Linux5.2 N/W.
The simplest way to test it In your WINDOWS box open a Command prompt then run “setWLSEnv.cmd” then run the following PING command provided by weblogic:
If Http Tunneling is enable on your AdminServer to listen to HTTP protocol then run the below command:
java weblogic.Admin -url http://xxxx:7001 -username weblogic -password weblogic PING
If Http Tunneling is NOT enable on your AdminServer to listen to HTTP protocol then run the below command:
java weblogic.Admin -url t3://hostName:7001 -username weblogic -password weblogic PING
If you don’t get any PING reply from WebLogic …then you need to contact your N/W Administrators.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
March 22nd, 2011 on 10:55 am
hi Middleware team,
Thanks for the quick reply,”for y managed server status automatically turned into unknown status”.Actually wanted to give a detailed explanation to the client out here.
Last week i faced a new issue and till it on,ie
I had deployed a application on a new managed server,port 80 and ssl default port 443.
my application was working fine with
https://
now i just wanted a redirection operation
ie when ever the end user user uses
http://,he should be redirected to https://.I was trying to convenience my client ie i will completely block the access to http by just changing the port of managed server but he was ot agreeing with it.
Is this possible??or any work around will be surely helpful
Thanks in advance
Regards
Fabian
March 22nd, 2011 on 11:02 am
Hi Fabian,
Yes, by using the below post you can make sure that when ever a client hits http:// it would automatically change the request into https://, check out the below post.
Topic: Converting HTTP Request to HTTPS Automatically
http://middlewaremagic.com/weblogic/?p=2019
Regards,
Ravish Mody
March 31st, 2011 on 5:08 pm
Hi Jay,
My application is running on weblogic 10.3.3 application server and for database i am using oracle database 11g.My problem is that there is table in db lets say “user.” there is column letsay “columnA”.This table is updating by module of application,if when value of column “abc.”,then i have to show alert to console(IP).{IP can be retrieved from db as it is configured in db.}Updation is continuously done on my table from module of application.Please tell me from where should i start?,what should i read.I am not able to understand what should be approach. Any help is much appreciated.
March 31st, 2011 on 5:54 pm
Hi Munnad,
I need one clarification here what is “Console IP”… As you mentioned that as soon as a column value of your database table changes then then you want to show alert to console(IP).{IP can be retrieved from db as it is configured in db.}
Please let us know what is this console IP is it the weblogic admin console you are talking about?
.
.
Keep Posting ๐
Thanks
Jay SenSharma
April 1st, 2011 on 10:42 am
Hi,
first thanks for reply!It is ip of any different linux machine,This linux machine is connected(on LAN) to weblogic application server and to machine where database is installed. Or is it possible to show alert on weblogic admin console(But on second prefrence first is different linux machine)?
April 1st, 2011 on 8:26 pm
hi Middle ware team,
Right now,Facing a new problem..
Is this possible?
1)This is a production environment,so i cant take a down time..I have deployed a war file Managed server1 and now im given a new war file(minor changes of the prev war file which is already been deployed on Managed server 1) which needs to deployed,So i deployed the war file on Managed server 2.Can i automatically redirect the user internally to access this new deployment.I mean,If the user is given http://:7002/xyz(this is the managed server 1),it should automatically redirect to http://:7003/xyz..In this way,i dont need to take a down time.
Will replication solve ma problem
Thanks in advance.
Regards
Fabian
April 1st, 2011 on 11:17 pm
Hi Fabian,
I would suggest in this situation you should go with the Hot Deployment to get more information about it have a look at the below post
Topic: Production Redeployment , WebLogic Versioning
Regards,
Ravish Mody
April 7th, 2011 on 8:13 pm
Hi Gurus,
I have installed weblogic 10.0.2.0 in windows 2003 64 bit.
Everything is working fine.
Problem is my client wants me to start weblogic as a windows service to prevent any possible closing of the start scripts.
I am not sure we can run the StartWeblogic.cmd in the background like we usually do in Linux.
How do we take care of passing those parameters i.e. username and password.
Any inputs is really appreciated.
Andrew
April 7th, 2011 on 9:26 pm
One another thing, I have included both Admin Server and Managed Server in the Node Manager during Domain Creation.
There will be dependency on Node Manager. How do I take care of this too…?
Andrew.
April 7th, 2011 on 9:36 pm
Hi Andrew,
Sometimes back we developed a Simple article on creating Windows Service …. That may give you some idea:
http://middlewaremagic.com/weblogic/?p=680
.
.
Keep Posting ๐
Thanks
Jay SenSharma
April 7th, 2011 on 9:44 pm
Hi Andrew,
Additionally If you want to convert your Managed Server as Windows Service then please follow the below kind of script:
.
.
Thanks
Jay SenSharma
April 7th, 2011 on 10:01 pm
Thank you for the input. Really appreciate.
However, after much rnd on the net, I somewhat follow the same idealogy as below.. i.e. the script I build.
echo off
SETLOCAL
set DOMAIN_NAME=syncro_domain
set USERDOMAIN_HOME=D:bea_homewlserver_10.0.2user_projectsdomainssyncro_domain
set SERVER_NAME=AdminServer
set WLS_USER=weblogic
set WLS_PW=something@else1
set PRODUCTION_MODE=true
set JAVA_VENDOR=Sun
set JAVA_HOME=C:Program FilesJavajrockit-jdk1.6.0_22-R28.1.1-4.0.1
set MEM_ARGS=-Xms1024m -Xmx1024m
set ADMIN_URL=http://10.20.10.96:7001
call “D:bea_homewlserver_10.0.2wlserver_10.0serverbininstallSvc.cmd”
ENDLOCAL
…
How ever I encounter the following error when I tried to start the service from services.msc panel.
Could not start the beasvc syncro_domain_AdminServer service on Local Computer
System error 1075 has occurred.
The dependency service does not exist or has been marked for deletion.
Andrew.
April 7th, 2011 on 11:30 pm
Hi Andrew,
Few things here:
1). You need not to set “set ADMIN_URL=http://10.20.10.96:7001” in above script because we can see that you are trying to start AdminServer as Windows Service. And for AdminServer you need not to have the ADMIN_URL property….So please remove it from your Script.
2). Also please make sure that there is no Special Non-printable characters should not be there inside the script. Even the Trailing Space Characters at the end of above lines may cause windows Service failure.
3). The most surprising thing i can see is following:
set JAVA_VENDOR=Sun
set JAVA_HOME=C:Program FilesJavajrockit-jdk1.6.0_22-R28.1.1-4.0.1
Because if you want to use JRockit JVM then the JAVA_VENDOR must be “BEA” (Not Sun)
.
.
Keep Posting ๐
Thanks
Jay SenSharma
April 8th, 2011 on 2:39 pm
Hi Andrew,
I have just emailed you few windows service scripts which would surely work at your end and have added few flags which would also help in debugging any issue in future.
The reason I emailed you is because I had to attach you the scripts, however if you have any technical issues please free to get in touch with us using comments only.
Keep Posting ๐
Regards,
Ravish Mody
April 9th, 2011 on 2:50 pm
Hi Jay/Ravish,
I am in the process of writing a Java Program for making one my MS as Hung or to Generate Stuck Threads in MS.
But instead of Having Stuck Thread, I am ending up with OOM error, please suggest.
Thanks
Sathya
April 10th, 2011 on 12:33 pm
Hi Sathya,
You can try using the Java code given in the following post to achieve your Hung state of a server.
Topic: Security Breach And Attack For Java Based Application Servers
Regards,
Ravish Mody
April 10th, 2011 on 1:54 am
Jay.
Please suggest here ASAP,
Have configured all Nodes in my Domain as follows:
If more than 2 Stuck threads are Observed on a particular Node, then Consider that Node as Failed.
So that user wont experience ERROR 404…..
Please suggest on the above mentioned Configuration.
Thanks
Sathya
April 10th, 2011 on 1:02 pm
Hi Sathya,
First of all I dont think this can be done and if some how you are able to achieve this then too the clients would get 404 error as the request gone to that server would not able to send the response back to the server.
The options to avoid 404 error to your client is that make sure you have looked to every aspect which can cause a stuck threads or make it busy so that it cannot response the request now that is a pretty hard job to do and lot of testing has to be performed on that servers and after too it is not assured that this server would not go down.
Regards,
Ravish Mody
April 18th, 2011 on 6:09 pm
Hi MiddlewareMagic team,
Actually i was doing some testing and ended up getting lost.Problem is,i was wanted to find the ip address of the user who are gettin logged in into my application so i just added this component “cp-i ” in Extended Logging Format Fields in server–>loggin–>http,This is working fine in Production environment but wen i tried the same in test environment i m not gettin it..My acces logs are above 8 kb.
When I check my access logs(through console as well as server/logs)..I get only Message column.Tried to customise the table but im not getting anything under Column Display Available: and under Chosen: i can see only message.I might have checked or unchecked check box’s,i guess.
Thanks for your help.Feeling bad for posting for such minor issues.
Regards
Fabian
April 18th, 2011 on 6:32 pm
Hi Fabian,
By default the access log buffer size is 8 KB so until that 8KB data is not filled in the buffer no entry is written in the “access.log” file so you may not be able to see anything. Just try to decrease the accesslog buffer size to 0 KB and then try:…… In your production environment May be due to excessive requests the logs gets written very fast compared to Development environment logs.
– The LogFileMBean now includes a buffer-size-kb parameter.
– This parameter has a default value of 8 KB hence it waits for the 8 KB and then starts writing in the access.log
– When set to zero, it will not buffer the log messages and starts writting in the access.log
For example, to set the buffer size for access.log in config.xml:
… 0
OR
You can use “-Dweblogic.logging.bufferSizeKB=0” at the time of starting the server.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
April 18th, 2011 on 11:45 pm
Jay,
How do i identify how much Max and Min memory has to be given to a web application.
Say if I have a application “A” to be on boarded to my WL, How much heap is required can be identified on what basis?
Thanks
Sathya
April 19th, 2011 on 12:03 am
Memory is not allocated application wise. So you cannot calculate how much memory is being consumed by Application “A” and how much memory is being consumed by Application “B”.
Load testing and a Good performance testing team is needed for calculating the required machine.
There is no standard formula.
Thanks
Jay SenSharma
April 19th, 2011 on 2:56 pm
Hi Jay,
Thanks for your previous solution it worked well.
I Have made my weblogic application server to run automatically whenever the server boots up..ie kept it in ma server start scripts..using nohup command
Is This possible ie Once my Admin server is up and even my nodemanager is up,to start managed server automatically…I have only one domain..
In current scenario,I have to manually select each n ever managed server and den press start.
Thanks for any help
Regards
Fabian
April 19th, 2011 on 4:32 pm
Hi Middleware Team,
Stuck in a serious problem rite now.
My log files are increasing tremendously..ie in a day It shoots upto 1 gb..(every 5 mins a new log file is written renamin the previous one which reaches 5 mb).There are not too many users.Just 200-250 total sessions in a day..Checked the log files,im just getting this msg every sec
MS_7003 [ACTIVE] ExecuteThread: ’18’ for queue: ‘weblogic.kernel.Default (self-tuning)’ <>.
I have to clear the log files continuously ie after every 3-4hrs.
The same configuration is on another weblogic server and there log files doesnt increase to that extent..Y is this happening..
Thanks in advance
Regards
Fabian
April 19th, 2011 on 4:58 pm
Hi Fabian,
We are not able to see what messages are repeatedly getting logged in the Server.log which is consuming more disk space, So please post the Snippet of Server log messages which are repeatedly getting logged and filling the server log Like described here: http://middlewaremagic.com/weblogic/wp-content/uploads/2009/08/How_to_Post_Comments.jpg . Make sure that the Server Debugs are off or only the required Debug flags are switched ON.
Also you can use the following kind of Shell Script as a Cron JOB to nullify the current Server.log without interrupting the WebLogic. http://middlewaremagic.com/weblogic/?page_id=241#comment-3534
.
.
Keep Posting ๐
Thanks
Jay SenSharma
April 20th, 2011 on 8:40 am
Hi Jay,
The query is regarding the following post..
http://forums.oracle.com/forums/thread.jspa?threadID=1053474&tstart=270
1)
The user was able to deploy the application onto AdminServer successfully.
2)
clustered environment(Remote Boxes), the application deployment onto cluster was unsuccessful..
Resolution : adding dms.jar to the setDomainEnv.cmd resolved the Issue…
Admin server as well uses the same setDomainEnv.cmd file, Right?
What is making the difference here?
Thanks
Sathya
April 20th, 2011 on 9:46 am
Hi Sathya,
Root cause of the error was : Caused by: java.lang.ClassNotFoundException: oracle.dms.wls.DMSServletFilter
It’s simple logic that this class is not present in the CLASSPATH of the Server or it’s not present inside the application other wise WLS Will never complaint about this class is missing. That could be an issue with the classloader configuration changes as well….
So adding this Jar explicitly in the CLASSPATH of the server will force server to load this jar at any cost. The same thing worked there as well.
.
.
Thanks ๐
Jay SenSharma
April 20th, 2011 on 6:24 pm
Hi jay,
Thanks,you saved my day…It was due to debugger my logs files were growing to such an extent..Thanks a lot..
Regards
Fabian
April 21st, 2011 on 11:54 am
Hi Middleware Magic Team,
Strange issue,My application which was deployed on production was running smoothly from past 1-2 months,Day before yesterday,i just restarted the entire weblogic server.Now i getting performance issue ie slowness.
I checked whether any threads are stuck(Server–>Monitoring–>threads) which might be causing the problem but none of the thread were stuck..
Checked the cpu and memory usage 0.1 and 5.8 respectively..
I m getting a throughput 17-22 while previously i used to get around 0.5 – 2.from where should i start trouble shooting,Any specific area.
I have 1 more doubt,this same application is deployed on test and production.
On test,I get
Active Execute Threads -8
Execute Thread Total Count -9
But on production i have
Active Execute Threads -20
Execute Thread Total Count -20
Active Execute Threads should be same rite on production as well as test,Since both the application are same.
Y is this so?
Thanks in advance
Regards
Fabian
April 21st, 2011 on 4:13 pm
Hi Fabian,
What I can make it out from your description is that the load to the application might been increased hence you are seeing this issue. Which WLS version are you using and after restart are you seeing the same behavior everyday or just that one day?
Regards,
Ravish Mody
April 22nd, 2011 on 6:38 am
Hi Jay/Ravish,
In Jrockit Thread Dump.. I see blocked State(Fat lock) and (thin lock) .. whats the difference between Fat lock and Thin Lock…
Thanks
Sathya
May 2nd, 2011 on 7:05 pm
Hi Sathya,
Fat locks:
A fat lock is a lock with a history of contention (several threads trying to take the lock simultaneously), or a lock that has been waited on (for notification).
Thin locks:
A thin lock is a lock that does not have any contention.
Regards,
Ravish Mody
April 22nd, 2011 on 1:28 pm
Hi Ravish,
I m using wls 10.3.4..I dont restart my entire weblogic server very often..Had restarted on 19th evening,from then onwards had a performance hit ie from last 2 dayz..Still facing the same problem.I even performed garbage collection.Can please help like from which direction i should start trouble shotting
Thanks in advance
Regards
Fabian
April 23rd, 2011 on 7:38 pm
Hi Middleware magic team..
Just want to ask,How and where do we find garbage collection logs in weblogic???
Thanks in advance
Regards
Fabian
April 23rd, 2011 on 9:55 pm
Hi Fabian,
Where ever you want it to be genarated you can generate it :
Example:
set JAVA_OPTIONS=%JAVA_OPTIONS% -Xmx1024m -Xloggc:D:/gcLog/GCLogs.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps
.
.
Keep Posting ๐
Thanks
Jay SenSharma
April 25th, 2011 on 5:20 am
Hi Jay,
Just out of curiosity, What is the difference between the steps that we used to create datasources in Weblogic 8.1 and now in Weblogic 10.3.
I hazily remember in 8.1 we used to create Connection Factory and the data source and then we used to deploy/point to the Target..
Now i don’t have 8.1 in my system.Let me know on this please.
Thanks
Sathya
April 26th, 2011 on 3:38 pm
Hi Sathya,
You can have a look at the below link which would help you.
Topic: Configuring BEA WebLogic 8.1 JDBC Connectivity
http://weblogic.sys-con.com/node/43045
However why do you have this types of curiosity, when you dont have WLS 8.1 with you. Also if you had it still the support for it has been closed and these days no one uses it (i.e. else should not use it).
Regards,
Ravish Mody
April 28th, 2011 on 11:01 am
Hi middleware Magic team,
Good morning,Posted after a long time…
Today morning came up with a new issue,I came up with a stuck thread,got an warning on Admin server:ThreadPool has stuck threads
Checked the logs it showed as below
Apr 28, 2011 10:40:55 AM IST Error WebLogicServer BEA-000337 [STUCK] ExecuteThread: ‘4’ for queue: ‘weblogic.kernel.Default (self-tuning)’ has been busy for “718” seconds working on the request “weblogic.kernel.WorkManagerWrapper$1@c810c5”, which is more than the configured time (StuckThreadMaxTime) of “600” seconds. Stack trace:
java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketInputStream.read(SocketInputStream.java:129)
weblogic.utils.io.ChunkedInputStream.read(ChunkedInputStream.java:159)
java.io.InputStream.read(InputStream.java:85)
com.certicom.tls.record.ReadHandler.readFragment(Unknown Source)
com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
com.certicom.tls.record.ReadHandler.read(Unknown Source)
com.certicom.io.InputSSLIOStreamWrapper.read(Unknown Source)
sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)
sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
java.io.InputStreamReader.read(InputStreamReader.java:167)
java.io.BufferedReader.fill(BufferedReader.java:136)
java.io.BufferedReader.readLine(BufferedReader.java:299)
java.io.BufferedReader.readLine(BufferedReader.java:362)
weblogic.nodemanager.client.NMServerClient.checkResponse(NMServerClient.java:289)
weblogic.nodemanager.client.NMServerClient.checkResponse(NMServerClient.java:314)
weblogic.nodemanager.client.NMServerClient.start(NMServerClient.java:102)
weblogic.nodemanager.mbean.StartRequest.start(StartRequest.java:75)
weblogic.nodemanager.mbean.StartRequest.execute(StartRequest.java:47)
weblogic.kernel.WorkManagerWrapper$1.run(WorkManagerWrapper.java:63)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
After sometime everything started working fine,But still i have a warning symbol on my console.
1) How to detect on what the thread is stuck on
2) In case of a stuck thread – how to roll back/stop the thread so that the rest of the processing can continue.
Thanks in Advance
Regards
Fabian
April 28th, 2011 on 11:26 am
Hi Fabian,
Good morning ๐
So from the error it seems that the thread had taken more then 600 seconds (i.e. 718 seconds ) time to complete its work and from the stack it seems that the thread was try to read some data from the socket. This can be a network glitch as you said that it was working fine after some time, hence no worries about it. But if you see more similar issue then we would have to look into it.
For these kind of issue we had created a WLST script which would have a look on the stuck threads and would generate thread dumps during the issue occurs so that we would have some data to look into it. Check out the below link
Topic: Sending Email Alert For Stuck Threads With Thread Dumps
Regards,
Ravish Mody
May 9th, 2011 on 12:17 pm
Hi Friends,
I configured the Keystore in my server.while import the SSL with the following tool
>keytool -import -trustcacerts -alias clientCert -file clientCert.pem -keypass abc123.
then i got the following error.
“keytool error: java.lang.Exception: Input not an X.509
certificate”.
can any one please help, i really strugle with this from last couple of days…this is the self-signed certificate…
Regards
Apurva
May 9th, 2011 on 4:12 pm
Hi Apurva,
Here the following thing that we need to check.
1.) Try using “-file clientCert.cer”
rather than “.pem”
Then later take a back up and rename the file to der
and use the weblogic’s utility “java utils.der2pem ”
2.) try removing the -trustcacerts options. I believe that might work.
Let me know in which keystore u are importing TRUST or IDENTITY
Regards,
Khan Tariq
May 12th, 2011 on 10:04 pm
Hello Admins,
Can u help me to understand about threads in weblogic? my question is this:
I did an app for JSE where i create some threads that made polling to a mysql database get some records and do logic stuff with that info.
I tried to recreate that app for weblogic but i read that no threads are allowed for JEE. So i use TimerService to start the logic at some time.
What i did is a good practice or should i uso some weblogic api to simulate threads sleep and awake?
I hope u can understand my question, thanx in advance for ur response.
Regards
Mauro ๐
May 12th, 2011 on 10:28 pm
Hi Mauricio,
Not only WebLogic rather most of the best Application servers does not recommend/allow a deployed application to manage their own Application level Threads. This is because the requests are processed by the Application Server Threads like (Worker Threads) Execute Threads. The application processes clients request on a Multithreaded environment which is managed by the Application Servers … so These servers do not want any Application level thread interfare in their own JOB.
So Opening a Socket through an Application and Creating and Managing Application Level Threads are STRICTLY prohibited. So you have chosen the right and recommended way to achieve your goal using TimerService.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
May 24th, 2011 on 6:10 pm
— Question about hogging threads —
–Environment —
Weblogic 10.3.2
Windows 2008 R2
JDK Sun 1.60_20
—————-
Hi all,
I’ve run this sunday a ‘stress test’on one of our application. The Weblogic node didn’t crash and dealed correctly the requests.
-However looking at the metrics, I can see that the Hogging thread count increased linearly up to 400; stayed at this value for 40 minutes then decrease linearly.
-The same behaviour was observed on the Thread Queue legth…
-looking at the log files, I can see plenty of threads marked as STUCK then marked unstuck…
My understanding is that too many requests are submitted to the my Weblogic.
Now, could anyone give me a clear definition of hogging thread? looking on the web, I’m more confused now
What are the actions we can take on Weblogic to reduce this hogging situation?
Thanks for your help and thanks for all your excellent posts
May 24th, 2011 on 6:27 pm
Hi Fipnova51,
Hogging threads:
Hogging threads can be called as a candidates for stuck threads in other words, those threads that โmightโ get stuck are called hogging threads. These threads will be declared as stuck threads after โStuckThreadMaxTimeoutโ seconds which by default value is 600secs.
You can also get the more information and Alerts when hogging threads have reached at the defined level from the below links
Topic: Sending Email Alert for Hogger Threads Count Using WLST
http://middlewaremagic.com/weblogic/?p=5423
Topic: Sending Email Alert For Stuck Threads With Thread Dumps
http://middlewaremagic.com/weblogic/?p=5582
Regards,
Ravish Mody
May 26th, 2011 on 5:17 pm
Hi Ravish,
Thanks for your links. I’ll have a look at them.
Noe reading “Performance and tuning for Oracle Weblogic Server”, I noticed that the max TotalThreadCount is set to 400.
I’ve been looking in the admin console and config.xml file but couldn’t see any references to this value.
Do you know if it’s possible to change it?
Thanks
May 26th, 2011 on 5:38 pm
Hi Fipnova51,
MaxThreadCount is by default set to 400 By weblogic. But if you want to change it then you can use the JAVA_OPTIONS in your servers startScript
-Dweblogic.threadpool.MinPoolSize=400
-Dweblogic.threadpool.MaxPoolSize=500
.
.
Keep Posting ๐
Thanks
Jay SenSharma
May 26th, 2011 on 7:16 pm
Excellent!
Thanks Jay
May 27th, 2011 on 6:45 pm
Hi MiddlewareMagic team,
I have another question.
The place I’m working at as a team deditaed to middleware solutions. In my case they’re in charge to create Weblogic domain when needed.
My weblogic domain runs on Windows and managed servers are started through beasvc64.exe
Looking at the registry, I modified the Cmdline entry to add “verbose:gc -loggc” arguments. Therefore all my GC are saved in a file.
My problem is if I restarted my managed server, my loggc file is overwritten during the restart and I lost my metrics.
I modified my loggc file by adding %DATE% args (onsole1_%DATE:~10,4%%DATE:~7,2%%DATE:~4,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.log) unfortunately it didn’t create any file.
How can I make sure my loggc file isn’t overwritten when a restart is initiated?
Thanks for your advices.
May 28th, 2011 on 6:52 pm
Hi fipnova51,
First of all I dont think so it is recommended to modify anything is the Windows registry, so try to again reinstall your Windows Service for Managed server with adding the below line in script and then try it out if that works for you
set JAVA_OPTIONS= -verbose:gc -loggc -Dweblogic.Stdout=D:bea_homewlserver_10.0.2user_projectsdomainssyncro_domainASstdout.txt -Dweblogic.Stderr=D:bea_homewlserver_10.0.2user_projectsdomainssyncro_domainASstderr.txt
Regards,
Ravish Mody
June 16th, 2011 on 11:16 am
Hi Jay,
I am currently running flex cube, in HP UX and have been having issues with tuning, I often experience out of memory and at it has become a normal operation to restart the weblogic due to frequent hanging of the application.
I have set the below parameters
JAVA Memory arguments: -Xms2048m -Xmx2048m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:SurvivorRatio=16 -XX:+ForceMmapReserved -Xmn512m -Xoptgc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:/oracle/middleware/user_projects/domains/base_domain/bin/UAT1_ManagedServer.gc28608.log -XX:+UseSpinning -XX:+HeapDumpOnOutOfMemoryError -XX:+HeapDumpOnly
would you please assist me with better tuning parameters. In addition i also experience PORT lock as shown in the log below
] The system is vulnerable to security attacks, since it trusts certificates signed by the demo trusted CA.>
Kindly assist.
Joe
June 16th, 2011 on 6:18 pm
Hi Joe,
As you have mentioned that very frequently you are facing OutOfMemory Eror in your WebLogic Server. So can you plesae let us know which kind of OutOfMemory is it Like OutOfMemory in HeapSpace, OutOfMemory In native Space, OutOfMemory in PermGen Space..
Also we would require the gc log to see if the Garbage Collection is happening properly or not?
If based on GC log report if we will find that Garbage Collection is happening properly on time and Full Garbage Collection pause is not taking more than 6-8 Seconds then Garbage Collection is good for 2 GB Heap space as for 2GB Heap space 6-8 Seconds of Full GC pause is normal…. But if it takes more than that then it means there could some problem with the Garbage Collection as well.
Suppose if the Garbage Collection is happening properly then in that case we must collect the Heap Dump at the Peak Heap Utilization of Heap space… as some time -XX:+HeapDumpOnOutOfMemoryError JAVA_OPTION is not able to generate the Heap Dumps so in that case we will have to collect the heap dump manually (At the peak Heap Utilization)
To Know about OutOfMemory issues :
http://middlewaremagic.com/weblogic/?p=4464
To Know more about collecting Heap Dumps Manually:
http://middlewaremagic.com/weblogic/?p=2241
http://middlewaremagic.com/weblogic/?p=6624
.
.
Thanks
Jay SenSharma
June 16th, 2011 on 9:24 pm
Issue: Monitoring Dashboard Tutorial
OS: RedHat Enterprise Linux 5 โ 32bit
WLS: 10.3.3
JDK: jrockit_160_05_R27.6.2-20 , Xms1024 Xmx1024
Topic: Garbage Collection
We recently upgraded from WebLogic 8.1 to WebLogic 11g 10.3.3. In doing so we ran into some difficulty applying garbage collection the way we used to.
In 8.1 we were able to use some regular expressions in the startup arguments to add date and time stamps for GC logging.
-Xverbose:memory,gc,gcpause,gcreport,memdbg -Xverbosetimestamp -Xverboselog:appServer-01-a/appServer-01-a-memory-gc-“$(date +%Y%m%d-%H%M%S)”
In 11g there seems to be an issue with this. It doesn’t single or double quotes, and seems to error on startup without them.
We’re resorted to running a cron job every night to roll the GC logs where this used to happen automatically whenever the managed server was restarted.
Do you have any suggestions on tuning garbage collection with WebLogic?
June 17th, 2011 on 2:38 pm
Hi Chris,
I tried the following and it worked:
export DATE=`date +%Y%m%d-%H%M%S`
JAVA_OPTIONS=”$JAVA_OPTIONS -Xverbose:memory,gc,gcpause,gcreport,memdbg -Xverbosetimestamp -Xverboselog:gc_${DATE}.log”
Please try the same and let us know. I could see that a gc log file created with name “gc_20110617-143342.log”
.
.
Keep Posting ๐
Thanks
Jay SenSharma
June 20th, 2011 on 7:06 pm
Hi all,
from the below stack trace how can we say that its checking for the JSP’s before reloading. We raised a SR with Oracle support and they have mentioned this.
“ExecuteThread: ’20’ for queue: ‘HealthCheckExecuteQueue'” daemon prio=5 tid=0x0050c7f0 nid=0x2a runnable [0x4c875000..0x4c87fc28]
at java.util.LinkedList.listIterator(LinkedList.java:459)
at java.util.AbstractList.listIterator(AbstractList.java:348)
at java.util.AbstractSequentialList.iterator(AbstractSequentialList.java:249)
at java.util.Collections$SynchronizedCollection.iterator(Collections.java:1553)
at weblogic.utils.classloaders.MultiClassFinder.getSource(MultiClassFinder.java:77)
– locked (a java.util.Collections$SynchronizedList)
at weblogic.utils.classloaders.MultiClassFinder.getSource(MultiClassFinder.java:66)
at weblogic.utils.classloaders.CodeGenClassFinder.getSource(CodeGenClassFinder.java:30)
at weblogic.utils.classloaders.MultiClassFinder.getSource(MultiClassFinder.java:80)
– locked (a java.util.Collections$SynchronizedList)
at weblogic.utils.classloaders.MultiClassFinder.getSource(MultiClassFinder.java:69)
at weblogic.utils.classloaders.CodeGenClassFinder.getSource(CodeGenClassFinder.java:30)
at weblogic.utils.classloaders.MultiClassFinder.getSource(MultiClassFinder.java:80)……
June 20th, 2011 on 7:33 pm
Hi Pranay69,
By looking at the above StackTrace of Thread of “HealthCheckExecuteQueue” we cannot say anyting related to JSP reloading or compilation…..
.
.
Keep Posting ๐
Thanks
Jay SenSharma
June 20th, 2011 on 10:25 pm
Hello Jay,
How can we know that max memory(heap) utilization on JVM in a day?
Thnx in Advance
Venu.
June 21st, 2011 on 2:45 pm
Hi Pyatla,
If you want to see the Whole days Heap Utilization then it will be best if you can enable the garbage Collection Logging. Once you get the garbage collection Log then you can just open it inside the “gcViewer” tool (http://www.tagtraum.com/gcviewer.html)to see a complete graph with time to findout at what time in a day the heap utilization was higher and what time it was normal.
Also to get a summary of Peak Heap Utilization and Garbage Collection statistics you can refer to the following article:
http://middlewaremagic.com/weblogic/?p=5131
For JVM tuning best practices you can also refer to the following article:
http://middlewaremagic.com/weblogic/?p=6388
.
.
Keep Posting ๐
Thanks
Jay SenSharma
June 21st, 2011 on 7:47 pm
Thanks Jay.
Are you indicating the ‘export’ can be included in the WebLogic console’s Server Start arguments field?
June 21st, 2011 on 8:53 pm
Hi Chris,
I am sorry !!! looks like i misunderstood your issue.
As earlier you didn’t mention that you are trying to achieve the same using WebLogic Admin Console “Server State” tab. I am not sure if that can be done..I even don’t see any possibility to do that any more.
I tried to put the JAVA_OPTION in the server’s startScript “startWebLogic.sh”.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
June 22nd, 2011 on 7:52 pm
Hi Jay,
It’s odd. Our PreProduction environment has this working on the Admin Server, but I can’t seem to get it to work anywhere else.
Works on PreProduction Admin:
[ sourcecode language=”java” wraplines=”false” ]
-Xverbose:memory,gc,gcpause,gcreport,memdbg -Xverboselog:/opt/Oracle/Middleware/user_projects/domains/wlgPPDomain/servers/AdminServer/logs/AdminServer-memory-gc-$(date +%Y%m%d-%H%M%S).log
[ /sourcecode ]
Doesn’t work in Production:
[ sourcecode language=”java” wraplines=”false” ]
-Xverbose:memory,gc,gcpause,gcreport,memdbg -Xverboselog:/opt/Oracle/Middleware/user_projects/domains/wlgPRDDomain/servers/AdminServer/logs/AdminServer-memory-gc-$(date +%Y%m%d-%H%M%S).log
[ /sourcecode ]
I’ve been unable to detect any differences in the environments. PreProd doesn’t set a JAVA_OPTION value for date, nor does Production. Both show an empty value whenever I $echo $date or $DATE on the command line.
There’s nothing in the .bashrc or other user profile files on the Linux side of things either.
The same configuration in WebLogic exists between the two environments. The only exception is a two character difference in the filepath for the domain home.
We record garbage collection logs for all of our managed servers. In WLS 8.1 we used similar expressions to set the GC log file name. It worked fine. In WLS 11g 10.3.3 this doesn’t seem to work, and no amount of tweaking has seemed to help.
As a result a file which should show up as: “AdminServer-memory-gc-20110622-102133.log” instead shows as: “AdminServer-memory-gc-$(date”.
Any further ideas will be entertained.
June 28th, 2011 on 11:42 am
Hi Jay,
I getting the below error during deployment. In order to do a deployment i have to restart the weblogic .Kindly assist
An unexpected exception has occurred processing your request
Message: The requested attribute is not exposed through JMX: getCluster
Stack Trace: java.lang.RuntimeException: The requested attribute is not exposed through JMX: getCluster at weblogic.management.jmx.ExceptionMapper.matchJMXException(ExceptionMapper.java:74) at weblogic.management.jmx.MBeanServerInvocationHandler.doInvoke(MBeanServerInvocationHandler.java:506) at weblogic.management.jmx.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:380) at $Proxy135.getCluster(Unknown Source) at com.bea.console.utils.DeploymentUtils.getServerTargets(DeploymentUtils.java:312) at com.bea.console.actions.jdbc.datasources.createjdbcdatasource.CreateJDBCDataSource.selectTargets(CreateJDBCDataSource.java:558) 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:597) at org.apache.beehive.netui.pageflow.FlowController.invokeActionMethod(FlowController.java:870) at org.apache.beehive.netui.pageflow.FlowController.getActionMethodForward(FlowController.java:809) at org.apache.beehive.netui.pageflow.FlowController.internalExecute(FlowController.java:478) at org.apache.beehive.netui.pageflow.PageFlowController.internalExecute(PageFlowController.java:306) at org.apache.beehive.netui.pageflow.FlowController.execute(FlowController.java:336) at org.apache.beehive.netui.pageflow.internal.FlowControllerAction.execute(FlowControllerAction.java:52) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:97) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:2044) at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors$WrapActionInterceptorChain.continueChain(ActionInterceptors.java:64) at org.apache.beehive.netui.pageflow.interceptor.action.ActionInterceptor.wrapAction(ActionInterceptor.java:184) at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors$WrapActionInterceptorChain.invoke(ActionInterceptors.java:50) at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors$WrapActionInterceptorChain.continueChain(ActionInterceptors.java:58) at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors.wrapAction(ActionInterceptors.java:87) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2116) at com.bea.console.internal.ConsolePageFlowRequestProcessor.processActionPerform(ConsolePageFlowRequestProcessor.java:261) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:556) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:853) at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:631) at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:158) at com.bea.console.internal.ConsoleActionServlet.process(ConsoleActionServlet.java:256) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) at com.bea.console.internal.ConsoleActionServlet.doGet(ConsoleActionServlet.java:133) at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1199) at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.executeAction(ScopedContentCommonSupport.java:686) at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.processActionInternal(ScopedContentCommonSupport.java:142) at com.bea.portlet.adapter.scopedcontent.PageFlowStubImpl.processAction(PageFlowStubImpl.java:106) at com.bea.portlet.adapter.NetuiActionHandler.raiseScopedAction(NetuiActionHandler.java:111) at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:181) at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:167) at com.bea.netuix.servlets.controls.content.NetuiContent.handlePostbackData(NetuiContent.java:225) at com.bea.netuix.nf.ControlLifecycle$2.visit(ControlLifecycle.java:180) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:324) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:130) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:352) at com.bea.netuix.nf.Lifecycle.runInbound(Lifecycle.java:184) at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:159) at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:388) at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:258) at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:199) at com.bea.netuix.servlets.manager.SingleFileServlet.service(SingleFileServlet.java:251) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at com.bea.console.utils.MBeanUtilsInitSingleFileServlet.service(MBeanUtilsInitSingleFileServlet.java:47) at weblogic.servlet.AsyncInitServlet.service(AsyncInitServlet.java:130) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) Caused by: javax.management.AttributeNotFoundException: com.bea:Name=AdminServer,Type=Server:Cluster at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:205) at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:222) at javax.management.remote.rmi.RMIConnectionImpl_1033_WLStub.getAttribute(Unknown Source) at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getAttribute(RMIConnector.java:878) at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:263) at weblogic.management.jmx.MBeanServerInvocationHandler.doInvoke(MBeanServerInvocationHandler.java:504) … 93 more
Regards
Joe
June 28th, 2011 on 4:31 pm
Hi Joe,
Looks like your application deployment is internally using some DataSource by looking at the following line of StackTrace:
com.bea.console.actions.jdbc.datasources.createjdbcdatasource.CreateJDBCDataSource.selectTargets(CreateJDBCDataSource.java:558) at
So please make sure that the DataSource is created properly and targeted to the Cluster. It will be good if you can test the DataSource first if it is working fine or not. It will be good to look at the “Target”: of the DataSource is set to the Cluster properly or not as well.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
June 29th, 2011 on 5:18 pm
Dear Middleware Team,
I had a doubt…Since my client had this requirement.
Is this possible??
Whenever,i want to shutdown the weblogic server for maintaince activity..I just want the weblogic users to get a pop up..”please log out after 10mins”..is this possible??
Current out netwark ppl are doing it..But this msg gets displayed to all the user,evn those users who are not using weblogic.
Please help.
Regards
Fabian
June 29th, 2011 on 6:57 pm
Hi Fabian,
Yes, this can be done. Your network guys are already giving the pop-up’s but only difficulty which you guys are facing is that you do not know who all are using weblogic. So to solve this issue you can refer to the below article which would help you do so.
Topic: HttpSession Monitoring using
http://middlewaremagic.com/weblogic/?p=1610
You would have to get the IP addresses of the client/user by replacing line-09 of Setp-3 by the following
BEFORE
session.setAttribute(“MyMainSessionAttribute”,userName);
AFTER:
String client_IP= request.getHeader(“X-Forwarded-For”);
session.setAttribute(“MyMainSessionAttribute”,client_IP);
The above code would fetch the IP address of the users and as explained in the post from the console you would get the list of users IP which can be shared by the network team, so now they would send that pop-up messages to these guys only who are using weblogic.
Regards,
Ravish Mody
July 6th, 2011 on 4:07 pm
Hi All,
Am currently running Oracle Flex-cube in HP UX and for the past few months I have been facing serious speed issues and system hanging .I am new to weblogic and I kindly request for your assistance is setting up the best garbage collection parameter for this transactional based application. I have enough memory i.e 60Gb but still the problem is as if am running the application on a P1 machine.Please please assist.
July 6th, 2011 on 4:42 pm
Hi Joe,
For slow responsiveness of a Server there could be many factory involved like the
1) . Garbage Collection might not be happening properly, Means the Full GC pause might be very high.
2). The Heap Size might be set to too low compared to the application need.
3). The Most important thing is there might be some STUCK Threads in the Thread dumps.
So to find out the exact cause we need to do the following :
1). Use the Garbage Cat tool to generate the Garbage Collection Summary Report to see if the Garbage Collection is happening properly or not. Please refer to the article: http://middlewaremagic.com/weblogic/?p=5131
2). To Check Heap Utilization we need to again see the Garbage Collection Logs “Max Heap Space” And “Max Heap Occupancy” values…if these values are too close and If the Max Pause is average then it means the application requires more Heap Memory.
3). We need to collect the Heap Dump and need to look into it to see if there is any STUCK thread present or If any of the Thread is Causing High CPU utilization: http://middlewaremagic.com/weblogic/?p=4884
.
.
Keep Posting ๐
Thanks
Jay SenSharma
July 7th, 2011 on 2:33 pm
Hi jay,
How do i set up Oracle Web Cache for Oracle WebLogic Server
Regards
Joe
July 7th, 2011 on 8:19 pm
You find some detailed steps over here: http://middlewaremagic.com/weblogic/?p=6872
Note that you do not need a SOA installation as was done in the post. You can just install WebLogic Server and than a WebTier installation.
July 11th, 2011 on 12:27 pm
Hi All,
I am facing issues while migrating my application from OC4J to Weblogic 10.3.2.0.
weblogic.servlet.jsp.CompilationException: Failed to compile JSP /search.jsp search.jsp:2:18: Error in “initialize.jsp” at line 99: The method getServletContext() is undefined for the type __search ————– search.jsp:2:18: Error in “initialize.jsp” at line 103: The method getServletContext() is undefined for the type __search
I have tried adding the servlet jars to the lib folder of WEB-INF.
I tried changing the getServletContext() to application.
But I am unable to understand what is the issue for the jsp compilation error here for the implicit objects which are being used within the jspInit call within initialize.jsp file.
Any help on this will be greatly appreciated.
Thank you,
Richa Kamal.
July 11th, 2011 on 10:24 pm
Hi Richa,
We will have to look inside the search.jsp page to know what exactly is happening there in line number 2 of the JSP Page Column number 18.
Will it be possible for you to share the search.jsp with us so that we can check if any thing needs to be changed there?
You can even post us your JSP page in the following E-Mail address “contact@middlewaremagic.com” As it is very difficult to comment anything without looking at the JSP page.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
July 12th, 2011 on 8:20 am
Hi Team,
Over the past few weeks, we have noticed that whenever we deploy any new version in Web-Logic 10.3.3, the changes don’t reflect. The only option through which the changes would reflect is to delete the contents of the stage and Temp folder in each managed server and then do a fresh deployment.
—How can we avoid this deleting process, as managed server count is high in number and CR window time will be less in Production.
— How could I configure WebLogic to delete them automatically (rather than writing a cron job or some external process that would periodically remove them).
Thanks for your help,
Sunny
July 12th, 2011 on 9:47 am
Hi Sunny,
As you have mentioned that you have a large number of Managed Servers in your Production environment … So please let us know How you are deploying a fresh Version of your Application on it ? Are you using any WLST/JMX/weblogic.Deployer Script ?
Because once we know how you are deploying your applications currently then only we will be able to find some strings to comment… If you are not already using WLST kind of utility to undeploy and deploy all your applications at once to all the Managed Servers then we can provide you a WLST script which will do all these things at once. You will need to just invoke the WLST Script to Undeploy the previous versions of your Application and then deploy a New Version of your application on the targeted Servers.
.
.
Keep Posting ๐
Thanks
Jay Sensharma
July 14th, 2011 on 1:43 am
I was able to resolve the “The method getServletContext() is undefined for the type __search error” by changing a bit of code.
In WLS, getServletContext() and implicit objects like application,config are not recognized within the jspinit call.So we need to use getServletConfig().getServletContext() instead of the
application or getServletContext().
July 19th, 2011 on 1:53 pm
Hi Team,
A user getting below error while accesing forms application
FRM-92100 Your connection to the server was interrupted
This may be the result of a network error,or a failure on the server.
you will need to reestablish your session..
No other users are not affected,but if the same user close error window & if he opens the same application again he can connect.
new user connection are allowed after this occurs.
can you help me how to resolve this problem?
Regards
Apurva
July 19th, 2011 on 2:34 pm
Hi Apurva,
Looks like you need to set item property to Item type =Text item & set insert allowed =NO & update allowed = NO
And also clear the files in Local user’s Oracle Jar Cache, and .jinit folders
As mentioned in the Last reply posted in the following link: http://forums.oracle.com/forums/message.jspa?messageID=4208044#4208044
.
.
Keep Posting ๐
Thanks
Jay SenSharma
July 19th, 2011 on 2:42 pm
Hi Jay,
Thank you for quick reply…….
can u tell me where this property is present in OAS?
item property to Item type =Text item & set insert allowed =NO & update allowed = NO
Regards,
Apurva
July 19th, 2011 on 3:44 pm
Hi Apurva,
Setting these properties are not administrative task rather a Oracle Forms Developer need to set these properties in the application configuration files.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
July 19th, 2011 on 3:48 pm
Hi Jay,
Thank you so much !!!!!!!!!!!!!!!!!!
Regards,
Apurva
August 4th, 2011 on 2:03 pm
Hi Team,
While installing oracle application server 10g R2 i an getting following errors:
java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:137)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:174)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:286)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:327)
at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:433)
at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:150)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:31)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:140)
at oracle.ldap.oidinstall.backend.SQLConnection.(SQLConnection.java:52)
at oracle.ldap.oidinstall.backend.OIDConfigWrapper.configOID(OIDConfigWrapper.java:208)
at oracle.ldap.oidinstall.OIDCA.doSilent(OIDCA.java:507)
at oracle.ldap.oidinstall.OIDCA.run(OIDCA.java:818)
at oracle.ldap.oidinstall.OIDCA.main(OIDCA.java:957)
Oracle Internet Directory Configuration failed. Please see log file: C:Oracleorainfraldaplogoidca.log
Configuration assistant “Internet Directory Configuration Assistant” failed
log file shows following errors:
oracle.ldap.oidinstall.backend.OIDCAException: java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
at oracle.ldap.oidinstall.backend.OIDConfigWrapper.configOID(OIDConfigWrapper.java:247)
at oracle.ldap.oidinstall.OIDCA.doSilent(OIDCA.java:507)
at oracle.ldap.oidinstall.OIDCA.run(OIDCA.java:818)
at oracle.ldap.oidinstall.OIDCA.main(OIDCA.java:957)
please help me to solve this issue.
Regards,
Apurva
August 4th, 2011 on 2:36 pm
Hi Apurva,
The Root cause of “oracle.ldap.oidinstall.backend.OIDCAException” exception is “java.sql.SQLException: Io exception: The Network Adapter could not establish the connection”.
Looks like your Internet Directory configuration assistant requires a Oracle Database connectivity and when it is trying to connect to Oracle Database at that time due to the N/W issue it is not able to connect to the Database.
So please check first whether your Database is UP and running or now (Is it opening the database listen port or not) ?
There are some more debugging steps mentione din the following link regarding “http://middlewaremagic.com/weblogic/?p=2477” issue “Common Jdbc Issues-1). The Network Adapter could not establish the connection”
.
.
Keep Posting ๐
Thanks
Jay SenSharma
August 5th, 2011 on 3:01 am
Hi, I just want to see if anyone has run into a similar problem before.
I have a customer that will be runnning my application on weblogic server 10.3.4.
They have set their domain up in production mode on RHEL5 under a weblogic user. I have done this many times myself without issue. However the customer is having problems with logging.
Most of the logs end up in the proper place on the file system, but some app specific logs are missing. Unfortunatly, the logging strategy I’m stuck with in this case is system.out.println.
I know something is wrong with their logging because when I try to view the Server logs via the console, nothing is there. I’ve never seen that empty before. I’ve asked them to check all file level permissions and they insist everything is “fine”.
Have any of you run into something like this before? Could it be an selinux thing that we’re missing? Any thought idea’s or anything would be very helpful.
Thanks,
Kevin
August 5th, 2011 on 11:23 am
Hi Kevin,
Point-1).
If you are seeing that the “System.out.println” statement outputs are not getting printed to the Server logs then please do the following:
If you want to redirect the STDOUT file of your Server as well inside the Server Log then u can add the following Flag as well in the JAVA_OPTIONS:
-Dweblogic.log.RedirectStdoutToServerLogEnabled=true
Point-2). As you have mentined that you are not able to see the server Logs from the admin-console , So in order to find out what is wrong with the server logging please do the following to see whether the server.log is getting populated properly or not?
If your Server is running in “PRODUCTION MODE” then you must use the SSL Protocol to access the Logs using weblogic.Admin Utility. like following, Means you will have to use the following command with “-Dweblogic.security.TrustโKeyStore=DemoTrust” JAVA_OPTION to access the Logs (NOTE: Please pass the correct TrustKeyStore in your command … If you are using anything else apart from the default one.):
java -Dweblogic.security.TrustKโeyStore=DemoTrust weblogic.Admin -url t3s://localhost:4002 -username weblogic -password weblogic SERVERLOG
If above command gives you server.log entries then it means that the server.log is getting populated as expected.
Additionally it will be good if you can try changing the “server.log” directory from the admin-console to some other directory to see if the logging is happening fine or not?
Point-3). As you have mentioned that some Application level logs are missing … So basically WebLogic does not controls the Application level logging rather the application level logging frameworks like log4j are actually responsible for rotating and managing the application level logs which need to be checked from the application side.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
August 9th, 2011 on 9:32 pm
Hi Magic team,
WebLogic 10.3
Solaris10
Production environment
In one of our production WebLogic server we have got Stack Over Flow exception.
Once we restarted the instance issue got resolved.
Please let us know what could be the reasons for this issue and suggest guidelines to resolve the issue
Logs are:
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at com.bea.console.utils.BeanUtils.fetchProperties(BeanUtils.java:418) at com.bea.console.utils.MBeanUtils.fetchProperties(MBeanUtils.java:217) at com.bea.console.actions.core.server.ServerMonitoringGeneralAction.execute(ServerMonitoringGeneralAction.java:83) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:97) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:2044) at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors.wrapAction(ActionInterceptors.java:91) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2116) at com.bea.console.internal.ConsolePageFlowRequestProcessor.processActionPerform(ConsolePageFlowRequestProcessor.java:255) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:556) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:853) at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:631) at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:158) at com.bea.console.internal.ConsoleActionServlet.process(ConsoleActionServlet.java:256) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) at com.bea.console.internal.ConsoleActionServlet.doGet(ConsoleActionServlet.java:133) at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1199) at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.executeAction(ScopedContentCommonSupport.java:686) at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.renderInternal(ScopedContentCommonSupport.java:266) at com.bea.portlet.adapter.scopedcontent.StrutsStubImpl.render(StrutsStubImpl.java:107) at com.bea.netuix.servlets.controls.content.NetuiContent.preRender(NetuiContent.java:292) at com.bea.netuix.nf.ControlLifecycle$6.visit(ControlLifecycle.java:428) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:727) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:146) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361) at com.bea.netuix.nf.Lifecycle.runOutbound(Lifecycle.java:208) at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:162) at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:388) at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:258) at com.bea.netuix.servlets.manager.UIServlet.doGet(UIServlet.java:211) at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:196) at com.bea.netuix.servlets.manager.SingleFileServlet.service(SingleFileServlet.java:251) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at com.bea.console.utils.MBeanUtilsInitSingleFileServlet.service(MBeanUtilsInitSingleFileServlet.java:54) at weblogic.servlet.AsyncInitServlet.service(AsyncInitServlet.java:130) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3502) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(Unknown Source) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2186) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2092) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) Caused by: java.lang.reflect.InvocationTargetException 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:597) at com.bea.console.utils.PropertyUtils.getSimpleProperty(PropertyUtils.java:1192) at com.bea.console.utils.BeanUtils.fetchProperties(BeanUtils.java:387) … 80 more Caused by: java.lang.StackOverflowError at java.util.Hashtable.get(Hashtable.java:334) at java.util.Properties.getProperty(Properties.java:932) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at java.util.Properties.getProperty(Properties.java:934) at
August 9th, 2011 on 10:32 pm
Hi Praveen,
The StackOverFlowError is a kind of OutOfMemory error in JVMs native area which is occurred when the Thread Stack Size grows more then expected. So we must keep in mind that the Thread Stack Size is set properly. The Thread Stack Size can be set using the JAVA_OPTION -Xss. Setting very small StackSize (-Xss) causes . StackSize is a memory area which is allocated to individual threads where they can place their thread local objects/variables.
Some times we get this error while performing a particular type of operation which requires the Thread do create more Thread Local Objects/Variables, For example if the Xss size is set to default or set to very less then while performing a particular operation in Admin Console might cause StackOverflow Error because the WebLogic Admin Console is a Portal based application and internally it uses a lots of temporary netuix components and page flows which can cause this error.
So we must be very careful regarding this kind of error and we should increase the -Xss size based on requirement.
NOTE: As you might be running your server for quite a long time and you never encountered this error before so it is obvious for you to ask Why suddenly you require to tune the Xss size ? It was working fine earlier and after restart of server as well it started working ….So why to tune the Xss?
It is because the error itself indicates that the Thread StackSize exceeded a certain limit and which is causing this issue. And many times we don’t perform a particular operation in a certain order …but some order of execution requires more Thread Local Objects / Variables which we might have not noticed earlier.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
August 10th, 2011 on 3:44 pm
Dear Team,
I have installed oracle application server R2 then apply patch on both infra& BI(10.1.2.3.0)also upgrade the infra DB(10.1.0.5.0)
again apply the patch on DB(10.2.0.1)
after patching when i start opmn components it’s giving me following errors:
The OC4J_SECURITY did not start. The HTTP_Server and OID is up.
My Database is ok!!
In OC4J~OC4J_SECURITY~default_island~1 log I received the follow error:
SSOLoginServlet.init: Starting up SSO server …
Initilize NLS utility…
Reading SSO server policy….
SSO: Entered FilePolicyManager constructor …
SSO: FilePolicyManager: done loading the /u/oracle/oid/OraHome_1/sso/conf/policy.properties file
SSO: Leaving FilePolicyManager constructor …
SSODebug: Done loading the debug file, /u/oracle/oid/OraHome_1/sso/log/ssoServer.log
SSO: DB Error. Please make sure the database is available and restart SSO Server
oracle.security.sso.server.util.DBException: Empty DB connect string. Could not create DB connection pool
at oracle.security.sso.server.util.DBConnectionPool.init(DBConnectionPool.java:148)
at oracle.security.sso.server.util.DBConnectionPool.init(DBConnectionPool.java:99)
at oracle.security.sso.server.ui.SSOLoginServlet.init(SSOLoginServlet.java:282)
at javax.servlet.GenericServlet.init(GenericServlet.java:258)
at com.evermind.server.http.HttpApplication.loadServlet(HttpApplication.java:2354)
at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4795)
at com.evermind.server.http.HttpApplication.initPreloadServlets(HttpApplication.java:4889)
at com.evermind.server.http.HttpApplication.initDynamic(HttpApplication.java:1015)
at com.evermind.server.http.HttpApplication.(HttpApplication.java:549)
at com.evermind.server.Application.getHttpApplication(Application.java:890)
at com.evermind.server.http.HttpServer.getHttpApplication(HttpServer.java:707)
at com.evermind.server.http.HttpSite.initApplications(HttpSite.java:625)
at com.evermind.server.http.HttpSite.setConfig(HttpSite.java:278)
at com.evermind.server.http.HttpServer.setSites(HttpServer.java:278)
at com.evermind.server.http.HttpServer.setConfig(HttpServer.java:179)
at com.evermind.server.ApplicationServer.setConfig(ApplicationServer.java:1551)
at com.evermind.server.ApplicationServerLauncher.run(ApplicationServerLauncher.java:92)
at java.lang.Thread.run(Thread.java:534)
SSO: FAILED TO START SSO SERVER!
Oidmon logs showing:
2011/08/10:15:32:17 * [oidmon]: Unable to connect to database,
will retry again after 20 sec
2011/08/10:15:32:38 * Error connecting database. -1
2011/08/10:15:32:38 * Error : Guardian Process terminated
plz help me how to resolve this issue….
Regards,
Apurva
August 10th, 2011 on 5:05 pm
Hi Apurva,
This kind of error usually occurs due to unclean bounce of OPMN and whenever an unclean bounce happens pid values are not cleaned properly and try the following:
1. opmnctl stopall -p 389 (NON-SSL) / ldapbind -h -p 636 -U 1 -D cn=orcladmin -w (SSL)
2. clear all files under $ORACLE_HOME/opmn/logs & $ORACLE_HOME/opmn/logs/states and remove .opmndat (hidden file => to view issue ls -la )
3. Make sure no process holding any ports => run netstat -anop |grep LIST
4. Make sure this command does’t show anything => ps auxww |grep rmi
5. Make sure DB Listener and OID (Ldapbind) are successfull ….
a. tnsping
b. ldapbind -h
6. opmnctl startall
Also please refer to the following Links which has EXACTLY same Exception StaackTrace as yours:
http://forums.oracle.com/forums/thread.jspa?threadID=969714
http://forums.oracle.com/forums/thread.jspa?messageID=9555767
http://forums.oracle.com/forums/thread.jspa?threadID=647648
.
.
Keep Posting ๐
Thanks
Jay SenSharma
August 17th, 2011 on 2:02 am
Hi Middleware Admins,
We are working on solaris10 platform, Weblogic11g. I have a weird scenario. Basically we have a citrix server,Our Company(XY) servers(30), F5 load balancing. Here when users are entering through citrix servers the request is hitting to only 2 particular servers in our company among the 30servers present. This is happening only when users login through citrix, because of which the performance of these 2servers is very high and users are facing slowness. Initially we were expecting there might be a problem in our company servers, so we removed the 2servers out of service. Later all the request are now going to only other 2 servers among the 28 present servers. So why is the request not disrtibuted equally among all the 30 servers. Is there any place we need to check. We are unable to get proper information in the logs and moreover i just moved to this company initially so it will take time for me to get complete access and provide more info.Can you please suggest me anything for the above scenario and let me know if need to give more info.
Thanks,
Tom
August 17th, 2011 on 7:50 pm
I think you have to look at your load balancing. See how it is configured and how it detects the WebLogic servers.
Usually a load balancer uses some kind of round robin algorithm to the back-end servers.
Note that in the case of session binding, the requests by the same users are always send to the same server. In this case WebLogic sends a session cookie jsessionid to the client. In this session cookie a primary and a secondary server are present. This in order to replicate data only to one server in the cluster.
As mentioned above, a good starting point is to look at the load balancer.
August 24th, 2011 on 11:52 am
Dear Team,
Please help me I have the following problem :
Forms version : Forms 6i
The problem : Form crashes suddenly.
Description : When I position the cursor on the
menu and press any item on it,it giving me below error:
error failed to open file ifrun60_dump_3360
how can i resolved this issue.
Regards,
Apurva
August 31st, 2011 on 1:17 am
Hi,
The weblogic domain is configured as,
machine-1 has admin and one managed server
machine-2 had other manged server
both managed servers form a cluster
For both machines, the admin console shows that the nodemanger is reachable.
But when i am not able to start the 2nd managed server from the console… (i can start it from command line though)
i see the following errors… related to boot identity..
nodemanager log:
==================
-Dweblogic.system.BootIdentityFile=/data/apps/bea/user_projects/domains/mydomain/servers/managed2/data/nodemanager/boot.properties -Dweblogic.nodemanager.ServiceEnabled=true -Dweblogic.security.SSL.ignoreHostnameVerification=false -Dweblogic.ReverseDNSAllowed=false -XX:MaxPermSize=256m -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseConcMarkSweepGC weblogic.Server >
java.io.IOException: Server failed to start up. See server output log for more details.
at weblogic.nodemanager.server.ServerManager.start(ServerManager.java:303)
at weblogic.nodemanager.server.Handler.handleStart(Handler.java:542)
at weblogic.nodemanager.server.Handler.handleCommand(Handler.java:119)
at weblogic.nodemanager.server.Handler.run(Handler.java:66)
at java.lang.Thread.run(Thread.java:619)
managed server log:
===================
[WARN ] -XX:MaxPermSize=256m is not a valid VM option. Ignoring
[WARN ] -XX:+UseParNewGC is not a valid VM option. Ignoring
[WARN ] -XX:+CMSParallelRemarkEnabled is not a valid VM option. Ignoring
[WARN ] -XX:+UseConcMarkSweepGC is not a valid VM option. Ignoring
I also tried to create new boot.properties file…but no luck ๐
Can you please help me out?
Thanks,
Raj
August 31st, 2011 on 1:20 am
managed server log:
====================
[WARN ] -XX:MaxPermSize=256m is not a valid VM option. Ignoring
[WARN ] -XX:+UseParNewGC is not a valid VM option. Ignoring
[WARN ] -XX:+CMSParallelRemarkEnabled is not a valid VM option. Ignoring
[WARN ] -XX:+UseConcMarkSweepGC is not a valid VM option. Ignoring
August 31st, 2011 on 11:20 am
Hi Raj,
I would suggest you to do have a look at the below article from Step-7 and make sure you have done the Step-8
WebLogic Clustering in Remote Boxes
Regards,
Ravish Mody
August 31st, 2011 on 11:27 am
Hi Giriraj,
Regarding the WARNING messages which you are seeing in your Logs for Invalid JAVA_OPTIONS …Please make sure that you are using Sun JDK… because the JAVA_OPTIONS which you are using -XX:MaxPermSize=256m -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseConcMarkSweepGC are specific to SUN JDK.
So if you will start your Server using JRockit JVM then you will receive the same Warning messages because JRockit JVM does not have these JAVA_OPTIONS.
Additionally if you see that the Nodemanager is reachable in the admin Console still it is not able to connect then Please check the Managed Server log of the same time stamp.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
September 1st, 2011 on 12:10 am
Thanks Guys…
Jay,
here is the error i see in the .out file…
I also tried to create new boot.properties file but it did not work….
the encrypted password in the boot.properties file is different for both machines… although user is same..
so i tried to create plain text file in machine 2 but somehow it gets encrypted diffferently than in machien 1
any thoughts??
September 1st, 2011 on 12:12 am
<Server subsystem failed. Reason: weblogic.security.SecurityInitializationException: Authentication denied: Boot identity not valid; The user name and/or password from the boot identity file (boot.properties) is not valid. The boot identity may have been changed since the boot identity file was created. Please edit and update the boot identity file with the proper values of username and password. The first time the updated boot identity file is used to start the server, these new values are encrypted.
weblogic.security.SecurityInitializationException: Authentication denied: Boot identity not valid; The user name and/or password from the boot identity file (boot.properties) is not valid. The boot identity may have been changed since the boot identity file was created. Please edit and update the boot identity file with the proper values of username and password. The first time the updated boot identity file is used to start the server, these new values are encrypted.
September 1st, 2011 on 6:05 pm
Hi Giriraj,
I feel that your nmEnroll is not done properly…. So please make sure that you are following the Step7) and Step8). Mentioned by Ravish in the following comment:
http://middlewaremagic.com/weblogic/?page_id=2594&cpage=6#comment-4824
Still if the problem persists then please do the following :
Please Copy the “SerializedSystemIni.dat” file from “$DOMAIN_HOME/security” Location and Paste it inside “wlserver_10.3/common/nodemanager/security” (Means the NodeManager’s Security directory) Location. Then restart your NodeManager….
.
.
Keep Posting ๐
Thanks
Jay SenSharma
September 6th, 2011 on 7:44 pm
Hi Jay,
We are preparing the disaster recover details in oracle weblogic server.
1. The Oracle Application Server Disaster Recovery solution uses disk replication
technology for disaster protection of Oracle Application Server middle tier components.
2. Enterprise Deployments need protection from unforeseen disasters and
natural calamities. One protection solution involves setting up a standby site at a
geographically different location than the production site
3.The standby site may have equal or fewer services and resources compared to the production site.
4. Application data, metadata, configuration data, and security data are replicated to the standby site on a
periodic basis.
5. The standby site is normally in a passive mode; it is started when the production site is not available.
6. An Oracle Application Server Disaster Recovery configuration that is completely identical across tiers on the production site and standby site.
7. The production site and standby site have the identical number of hosts, load balancers, instances, and applications.
8. The same ports are used for both sites production & standby site.
In our disaster recovery method we are using the Asymmetric topology.
1. In an asymmetric topology, the standby site can use less hardware.
2. Example:- the standby site can use fewer Application Server instances
create mount points and links on the hosts to the Oracle home
directories on the shared storage where the Oracle Application Server instances will be installed
These datas are enough for disaster recover for oracle weblogic server.
Availble only Oracle WebLogic Server 9.2 MP3 to 10.3
Regards,
S.Vinoth Babu
September 12th, 2011 on 9:23 am
HI ,
i am not sure where to post this question so i am using this space …sorry if this is nto the right place to post
I am seeing the below error in our App logs and we are not sure why this is happening ? Any help will be much appreciated.
weblogic.rmi.extensions.RemoteRuntimeException: Unexpected Exception
at weblogic.jdbc.common.internal.RmiDataSource_1030_WLStub.getConnection(Unknown Source)
at com.cashedge.utils.DBUtils.getConnection(DBUtils.java:55)
at com.cashedge.utils.DBUtils.getConnection(DBUtils.java:39)
at com.cashedge.event.EventDbOps.getSubscriber(EventDbOps.java:163)
at com.cashedge.event.EventPublisher.publishEvent(EventPublisher.java:34)
at com.cashedge.event.CEEventPublisher.publishManualHarvestRqCompletionEvt(CEEventPublisher.java:962)
at com.cashedge.event.subscriber.ceinternal.EventSubscriber.consumeManualHarvestEndEvent(EventSubscriber.java:363)
at com.cashedge.event.subscriber.ceinternal.EventSubscriber.consumeEvent(EventSubscriber.java:127)
at com.cashedge.event.EventDispatcher.run(EventDispatcher.java:171)
Caused by: java.rmi.ServerError: A error occurred the server; nested exception is:
java.lang.NoClassDefFoundError: weblogic/jdbc/rmi/SerialConnection_weblogic_jdbc_rmi_internal_ConnectionImpl_weblogic_jdbc_wrapper_JTSConnection_oracle_jdbc_driver_T4CConnection_1030_WLStub
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:234)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
… 9 more
Caused by: java.lang.NoClassDefFoundError: weblogic/jdbc/rmi/SerialConnection_weblogic_jdbc_rmi_internal_ConnectionImpl_weblogic_jdbc_wrapper_JTSConnection_oracle_jdbc_driver_T4CConnection_1030_WLStub
at weblogic.jdbc.wrapper.JTSConnection_weblogic_jdbc_rmi_SerialConnection_weblogic_jdbc_rmi_internal_ConnectionImpl_weblogic_jdbc_wrapper_JTSConnection_oracle_jdbc_driver_T4CConnection_1030_WLStub.getStubInfo(Unknown Source)
at weblogic.rmi.utils.io.InteropObjectReplacer.replaceObject(InteropObjectReplacer.java:40)
at weblogic.utils.io.ChunkedObjectOutputStream.replaceObject(ChunkedObjectOutputStream.java:40)
at weblogic.utils.io.ChunkedObjectOutputStream$NestedObjectOutputStream.replaceObject(ChunkedObjectOutputStream.java:141)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1116)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at weblogic.rjvm.MsgAbbrevOutputStream.writeObject(MsgAbbrevOutputStream.java:618)
at weblogic.utils.io.ChunkedObjectOutputStream.writeObject(ChunkedObjectOutputStream.java:64)
at weblogic.jdbc.common.internal.RmiDataSource_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:590)
at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:232)
at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
September 12th, 2011 on 1:15 pm
Hi,
I have a doubt.
How to set Time outs for inactive session.
If i go to Deployment–>configuration tab–>Session Timeout (in seconds)=3600
which states that “The amount of time (in seconds) that a session can remain inactive before it is invalidated”.
There is one more parameter in datasource–>configuration–>connection pool–>Inactive Connection Timeout:0
Right now im confused which parameter to set or is there any other parameter for weblogic
I have created connection pooling there are 300 active sessions but there are 900-1000 total session created in weblogic
There are lot(1500-2000) of inactive jdbc connections created at databse end and those inactive jdbc connections are increasing continuously
we undeploy the application still inactive jdbc connections are created at database end.
plz help me how to reduced inactive jdbc connections which are continuously increasing
is there any more parameter which we need to tune according to conenction-pool values(Initial capacity:max capacity)
plz help
regards,
Apurva
September 12th, 2011 on 6:42 pm
Hi Apurva,
Deploymentโ>configuration tabโ>Session Timeout (in seconds)=3600
Above is actually HttpSession timeout (NOT related to the Jdbc Connection timeout.)
Datasourceโ>configurationโ>connection poolโ>Inactive Connection
When you set a value for Inactive Connection Timeout, WebLogic Server will forcibly return a connection to the data source when there is no activity on a reserved connection for the number of seconds that you specify. When set to 0 (the default value), this feature is turned off.
A leaked connection is a connection that was not properly returned to the connection pool in the data source. To automatically recover leaked connections, you can specify a value for Inactive Connection Timeout on the JDBC Data Source.
But even after setting the “Inactive Connection timeout” to some value if you are seeing the same behavior then please try to use the “Latest Jdbc Driver” and also contact your Database administrators because many times the Database do not close the open cursors properly. As i don’t think any further tuning is required from WebLogic side.
.
.
Keep Posting ๐
Thanks
Jay SenSharma
September 13th, 2011 on 12:46 pm
Hi Jay,
Thanx a lot for your response………
Please can you tell me which JDBC driver should I use to connect Oracle 11G from Weblogic 10.3.3.0
I am using Oracle Thin Driver ………….
plz help
Regards,
Apurva
September 13th, 2011 on 6:21 pm
Hi Apurva,
Oracle Thin Driver would just work fine.
Regards,
Ravish Mody