Hi,
If we want to analyze the Heap & Non-Heap Usages of WebLogic Server JVM remotely then we can use the following Simple JMX Code… You can enhance this tiny code to Develop your own Mini/Light weight JConsole. To connect to the Actual JConsole remotely also you need to provide the following JAVA_OPTIONS and the connection url format should be:
service:jmx:rmi:///jndi/rmi://”+hostname+”:”+port+”/jmxrmi
Step1). Please open the “startWebLogic.cmd” (Server StartScript) and then set the following JAVA_OPTIONS there.
set MY_JMX_OPTIONS= -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=4444 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false set JAVA_OPTIONS=%JAVA_OPTIONS% %MY_JMX_OPTIONS%
Step2). Now from any other box or from the same Box you can run the Following JMX code to get Heap & Non Heap Usages of the JVM:
“HeapAndNonHeapMonitoring.java”
import java.util.Hashtable; import java.io.*; import javax.management.MBeanServerConnection; import javax.management.remote.JMXConnector; import javax.management.remote.JMXConnectorFactory; import javax.management.remote.JMXServiceURL; import javax.naming.Context; import java.lang.management.MemoryMXBean; import java.lang.management.ManagementFactory; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import javax.management.*; import javax.management.openmbean.CompositeDataSupport; public class HeapAndNonHeapMonitoring { private static MBeanServerConnection connection; private static JMXConnector connector; public static void Connection(String hostname, String port) throws IOException { Integer portInteger = Integer.valueOf(port); Hashtable h = new Hashtable(); JMXServiceURL address = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://"+hostname+":"+port+"/jmxrmi"); connector = JMXConnectorFactory.connect(address,null); connection = connector.getMBeanServerConnection(); System.out.println("GOT THE MBeanServerConnection---SUCCESSFULLY"); } private static void doGarbageCollection() throws Exception { ObjectName memoryMXBean=new ObjectName("java.lang:type=Memory"); connection.invoke(memoryMXBean,"gc", null, null); System.out.println("nnt------Garbage Collection Done Successfully-----"); } private static void doOperatingSystemDetails() throws Exception { ObjectName operatingSystemMXBean=new ObjectName("java.lang:type=OperatingSystem"); Object systemLoadAverage = connection.getAttribute(operatingSystemMXBean, "SystemLoadAverage"); Long freePhysicalMemory = (Long) connection.getAttribute(operatingSystemMXBean, "FreePhysicalMemorySize"); Long processCpuTime = (Long) connection.getAttribute(operatingSystemMXBean, "ProcessCpuTime"); Long committedVirtualMemorySize = (Long) connection.getAttribute(operatingSystemMXBean, "CommittedVirtualMemorySize"); Long freeSwapSpaceSize = (Long) connection.getAttribute(operatingSystemMXBean, "FreeSwapSpaceSize"); Long totalPhysicalMemorySize = (Long) connection.getAttribute(operatingSystemMXBean, "TotalPhysicalMemorySize"); Long totalSwapSpaceSize = (Long) connection.getAttribute(operatingSystemMXBean, "TotalSwapSpaceSize"); System.out.println("Operating SystemLoadAverage: " + systemLoadAverage); System.out.println("Operating System FreePhysicalMemory: " + (freePhysicalMemory/(1024*1024))+"-MB"); System.out.println("Operating System processCpuTime: " + processCpuTime); System.out.println("Operating System committedVirtualMemorySize: " + (committedVirtualMemorySize/(1024*1024))+"-MB"); System.out.println("Operating System freeSwapSpaceSize: " + (freeSwapSpaceSize/(1024*1024))+"-MB"); System.out.println("Operating System totalPhysicalMemorySize: " + (totalPhysicalMemorySize/(1024*1024))+"-MB"); System.out.println("Operating System totalSwapSpaceSize: " + (totalSwapSpaceSize/(1024*1024))+"-MB"); } private static void getHeapMemoryUsage() throws Exception { ObjectName memoryMXBean=new ObjectName("java.lang:type=Memory"); CompositeDataSupport dataSenders = (CompositeDataSupport) connection.getAttribute(memoryMXBean,"HeapMemoryUsage"); if (dataSenders != null) { Long commited = (Long) dataSenders.get("committed"); Long init = (Long) dataSenders.get("init"); Long max = (Long) dataSenders.get("max"); Long used = (Long) dataSenders.get("used"); Long percentage = ((used * 100) / max); System.out.println("nnt commited : "+commited/(1024*1024)+" MB"); System.out.println("t init : "+init/(1024*1024)+" MB"); System.out.println("t max : "+max/(1024*1024)+" MB"); System.out.println("t used : "+used/(1024*1024)+" MB"); System.out.println("t percentage : "+percentage +" %"); } } private static void getNonHeapMemoryUsage() throws Exception { ObjectName memoryMXBean=new ObjectName("java.lang:type=Memory"); CompositeDataSupport dataSenders = (CompositeDataSupport) connection.getAttribute(memoryMXBean,"NonHeapMemoryUsage"); if (dataSenders != null) { Long commited = (Long) dataSenders.get("committed"); Long init = (Long) dataSenders.get("init"); Long max = (Long) dataSenders.get("max"); Long used = (Long) dataSenders.get("used"); Long percentage = ((used * 100) / max); System.out.println("nnt commited : "+commited/(1024*1024)+" MB"); System.out.println("t init : "+init/(1024*1024)+" MB"); System.out.println("t max : "+max/(1024*1024)+" MB"); System.out.println("t used : "+used/(1024*1024)+" MB"); System.out.println("t percentage : "+percentage +" %"); } } public static void main(String[] args) throws Exception { String hostname = args[0]; String port = args[1]; Connection(hostname, port); //doGarbageCollection(); // --> use this method if you want to perform Garbage Collection System.out.println("nt----------HEAP Memory Usages---------"); getHeapMemoryUsage(); System.out.println("nt----------Non-HEAP Memory Usages---------"); getNonHeapMemoryUsage(); System.out.println("nt----------Operating System Usages---------"); doOperatingSystemDetails(); connector.close(); } }
Output:
.
.
.
Thanks
Jay SenSharma
April 10th, 2010 on 1:25 am
I tried above sample code but getting below error stacktrace.
Exception in thread “Main Thread” java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: localhost; nested exception is:
java.net.ConnectException: Connection refused: connect]
at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:317)
at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:248)
April 10th, 2010 on 8:37 am
Hi Smile,
The issue which you are facing is possible if you will not set the JAVA_OPTIONS mentioned in the Post …in the right place of your Servers StartScript.
Can you please post the ServerStart Script snippet where you have added the JAVA_OPTIONS
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=4444
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
.
.
Thanks
Jay SenSharma
April 12th, 2010 on 8:01 pm
C:bea1001JDK150~1binjava -client -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8453,server=y,suspend=n -Djava.compiler=NONE -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=128m -XX:MaxPermSize=128m -Xverify:none -ea -da:com.bea… -da:javelin… -da:weblogic… -ea:com.bea.wli… -ea:com.bea.broker… -ea:com.bea.sbconsole… -Dplatform.home=C:bea1001WLSERV~1.0 -Dwls.home=C:bea1001WLSERV~1.0server -Dweblogic.home=
C:bea1001WLSERV~1.0server -Dwli.home=C:bea1001WLSERV~1.0integration -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false Dweblogic.log.Log4jLoggingEnabled=true -Dlog4j.debug=true -Dweblogic.log.RedirectStdoutToServerLogEnabled=true -Dweblogic.management.discover=true -Dweblogic.StdoutDebugEnabled=true -Dweblogic.Debug=weblogic.ApplicationContainer -Dweblogic.Debug=weblogic.DeployerRuntime -Dweblogic.debug.DebugConfigurationEdit=true -Dweblogic.debug.DebugDeploymentTaskRuntime=true -Dweblogic.debug.DebugDeploymentManagerAdmin=true -Dwlw.iterativeDev=true -Dwlw.testConsole=true -Dwlw.logErrorsToConsole=true -verbose:gc -XX:-PrintGCTimeStamps -verbosegc -XX:-PrintGCDetails -Xnoclassgc -XX:+UseTLAB -XX:+TraceClassUnloading -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:CMSIncrementalDutyCycleMin=0 -XX:CMSIncrementalDutyCycle=10 -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:SurvivorRatio=6 -XX:+PrintTenuringDistribution -XX:MaxGCPauseMillis=1000 -Dweblogic.ext.dirs=C:bea1001patch_wlw1001profilesdefaultsysext_manifest_classpath;C:bea1001patch_wls1001profilesdefaultsysext_manifest_classpath;C:bea1001patch_wlp1001profilesdefaultsysext_manifest_classpath -Dweblogic.Name=AdminServer -Djava.security.policy=C:bea1001WLSERV~1.0serverlibweblogic.policy weblogic.Server
April 12th, 2010 on 8:53 pm
Hi Smile,
Just try adding ‘true’ for the following flag in your JAVA_OPTION
currently it is following:
-Dcom.sun.management.jmxremote
Please change it to below:
-Dcom.sun.management.jmxremote=true
Ideally it should not matter….but may be JVM is not starting the Remote Managment Server at port 8888 …because it is not set to ‘TRUE’.
.
.
Keep Posting 🙂
Thanks
Jay SenSharma
April 15th, 2010 on 7:40 pm
That work like a charm.I have one more question for you. Would you recommand to run above script in production (i mean GC) with cron job.
if yes how should i configure this in cluster env?
From last few days we have issue with GC and website performance in production and my manager assign me to look into it.I am total new to weblogic configurations. Would you please help in directing or suggestion were start or at least to look for more information.
Any information would be greatly appreciated.
Thanks!
Smile
April 14th, 2010 on 8:07 pm
That work like a charm.I have one more question for you. Would you recommand to run above script in production (i mean GC) with cron job.
if yes how should i configure this in cluster env?
From last few days we have issue with GC and website performance in production and my manager assign me to look into it.I am total new to weblogic configurations. Would you please help in directing or suggestion were start or at least to look for more information.
Any information would be greatly appreciated.
Thanks!
Smile
March 1st, 2011 on 11:55 am
Hi Jay,
Getting following exception at Runtime, Please update
C:JavaCoreJavaSample1buildclasses>java Jmx/HeapAndNonHeapMonitoring localhost 7001
Exception in thread “main” java.io.IOException: Failed to retrieve RMIServer stu
b: javax.naming.CommunicationException [Root exception is java.rmi.ConnectIOExce
ption: error during JRMP connection establishment; nested exception is:
java.io.EOFException]
at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:31
7)
at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFacto
ry.java:248)
at Jmx.HeapAndNonHeapMonitoring.Connection(HeapAndNonHeapMonitoring.java
:40)
at Jmx.HeapAndNonHeapMonitoring.main(HeapAndNonHeapMonitoring.java:114)
Caused by: javax.naming.CommunicationException [Root exception is java.rmi.Conne
ctIOException: error during JRMP connection establishment; nested exception is:
java.io.EOFException]
at com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java
:97)
at com.sun.jndi.toolkit.url.GenericURLContext.lookup(GenericURLContext.j
ava:185)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at javax.management.remote.rmi.RMIConnector.findRMIServerJNDI(RMIConnect
or.java:1807)
at javax.management.remote.rmi.RMIConnector.findRMIServer(RMIConnector.j
ava:1777)
at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:25
9)
… 3 more
Caused by: java.rmi.ConnectIOException: error during JRMP connection establishme
nt; nested exception is:
java.io.EOFException
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:274
)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:171)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:306)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java
:93)
… 8 more
Caused by: java.io.EOFException
at java.io.DataInputStream.readByte(DataInputStream.java:243)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:215
)
… 12 more
Thanks
Sathya
March 1st, 2011 on 12:01 pm
Hi Sathya,
Please make sure that your CLASSPATH do not have the following JARs in it : jrmp.jar AND jrmpclient.jar These Jars are present inside $WL_HOMEserver]lib
better just add the weblogic.jar in your JMX clients classpath … if required use the “wlfullclient.jar” in JMX Cients classpath…. But make sure that the above 2 Jars are excluded.
Steps to create “wlfullclient..jar” : http://middlewaremagic.com/weblogic/?p=558
.
.
Keep Posting 🙂
Thanks
Jay SenSharma
March 5th, 2011 on 4:01 am
Hi Jay,
As per my post, the command I have used to execute the program is
C:JavaCoreJavaSample1buildclasses>java Jmx/HeapAndNonHeapMonitoring localhost 7001
I am passing Admin Server port as a parameter. (My Bad)
I corrected that Over and executed the command
I see the following Error
C:Userssp07174DocumentsNetBeansProjectsCoreJavasrcJMX>java JMX/HeapAndNonHeapMonitoring
address.. ..service:jmx:rmi:///jndi/rmi://ccgflbs10d.nam.nsroot.net:4444/jmxrmi
Exception in thread “Main Thread” java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.ServiceUnavailableException [Roo
t exception is java.rmi.ConnectException: Connection refused to host: ccgflbs10d.nam.nsroot.net; nested exception is:
java.net.ConnectException: Connection refused: connect]
at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:317)
at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:248)
at JMX.HeapAndNonHeapMonitoring.Connection(HeapAndNonHeapMonitoring.java:41)
at JMX.HeapAndNonHeapMonitoring.main(HeapAndNonHeapMonitoring.java:118)
Caused by: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: ccgflbs10
d.nam.nsroot.net; nested exception is:
java.net.ConnectException: Connection refused: connect]
at com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:97)
at com.sun.jndi.toolkit.url.GenericURLContext.lookup(GenericURLContext.java:185)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at javax.management.remote.rmi.RMIConnector.findRMIServerJNDI(RMIConnector.java:1817)
at javax.management.remote.rmi.RMIConnector.findRMIServer(RMIConnector.java:1787)
at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:259)
… 3 more
Caused by: java.rmi.ConnectException: Connection refused to host: ccgflbs10d.nam.nsroot.net; nested exception is:
java.net.ConnectException: Connection refused: connect
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:574)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:185)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:171)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:306)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:93)
… 8 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.(Socket.java:366)
at java.net.Socket.(Socket.java:179)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:569)
… 13 more
March 26th, 2011 on 9:43 pm
Hi Sathya,
Please check whether you are able to PING the server using the following command or not?
java weblogic.Admin -url t3://ServerHostName:9001 -username weblogic -password weblogic PING
I suspect that your Server is not configured to listen to hostName “ccgflbs10d.nam.nsroot.net” better if you can check the config.xml to know what is the correct Listen Address for the server which you are trying to monitor.
.
.
Keep Posting 🙂
Thanks
Jay SenSharma
March 28th, 2011 on 3:05 am
Jay,
The above error got resolved,
The reason for the Exceptionw as JMX port was not enabled.
Thanks a lot for all of your suggestion.
Sathya
April 2nd, 2011 on 3:28 am
Jay,
One Curious doubts,
Explaination :
Say I have a domain with AS and 2 MS, means I have 3 JVMS within the domain now.
I enable a JMX port and connect either a Jprobe or
Jrocket Mission Controll to the JMX port using service URL,
Now, The report i see for HeapMemory over a Jconsole is for which JVM of the above 3?
😛
Thanks
Sathya
April 3rd, 2011 on 12:27 am
Hi Sathya,
Like every server has a unique Address (Combination of IP address and Port) same way every JMX based operations also uses a unique address. For example the following address will be always different for all the Servers which we want to monitor :
service:jmx:rmi:///jndi/rmi://”+hostname+”:”+port+”/jmxrmi
For any two servers the hostName and JMX port can not be same.
.
.
Keep Posting 🙂
Thanks
Jay SenSharma
October 18th, 2012 on 3:41 pm
Hi Jay,
I am using JBoss 7.1.1.Final (standalone mode) and trying to set jmx monitoring, as per suggested in post I tried to set these following java options in my bin/standalone.conf, but I am not able to start my jboss .
JAVA_OPTS=”$JAVA_OPTS -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false”
Error:
[root@ip-10-244-25-165 jboss]# bin/standalone.sh
=========================================================================
JBoss Bootstrap Environment
JBOSS_HOME: /usr/local/jboss
JAVA: /usr/java/default//bin/java
JAVA_OPTS: -server -XX:+UseCompressedOops -XX:+TieredCompilation -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Djboss.server.default.config=standalone.xml -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
=========================================================================
WARNING: Failed to load the specified log manager class org.jboss.logmanager.LogManager
Exception in thread “main” java.lang.ExceptionInInitializerError
at org.jboss.as.server.Main.main(Main.java:73)
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.jboss.modules.Module.run(Module.java:260)
at org.jboss.modules.Main.main(Main.java:291)
Caused by: java.lang.IllegalStateException: The LogManager was not properly installed (you must set the “java.util.logging.manager” system property to “org.jboss.logmanager.LogManager”)
at org.jboss.logmanager.Logger.getLogger(Logger.java:60)
at org.jboss.logmanager.log4j.BridgeRepositorySelector.(BridgeRepositorySelector.java:42)
… 7 more
If I set only these following jboss starts and works fine
JAVA_OPTS=”$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false”
[root@ip-10-244-25-165 jboss]# bin/standalone.sh
=========================================================================
JBoss Bootstrap Environment
JBOSS_HOME: /usr/local/jboss
JAVA: /usr/java/default//bin/java
JAVA_OPTS: -server -XX:+UseCompressedOops -XX:+TieredCompilation -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Djboss.server.default.config=standalone.xml -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
=========================================================================
10:10:29,159 INFO [org.jboss.modules] JBoss Modules version 1.1.1.GA
10:10:29,981 INFO [org.jboss.msc] JBoss MSC version 1.0.2.GA
10:10:30,177 INFO [org.jboss.as] JBAS015899: JBoss AS 7.1.1.Final “Brontes” starting
10:10:34,600 INFO [org.xnio] XNIO Version 3.0.3.GA
10:10:34,647 INFO [org.xnio.nio] XNIO NIO Implementation Version 3.0.3.GA
10:10:34,658 INFO [org.jboss.remoting] JBoss Remoting version 3.2.3.GA
10:10:34,663 INFO [org.jboss.as.server] JBAS015888: Creating http management service using socket-binding (management-http)
10:10:34,914 INFO [org.jboss.as.logging] JBAS011502: Removing bootstrap log handlers
10:10:34,966 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread Pool — 31) JBAS010280: Activating Infinispan subsystem.
10:10:35,165 INFO [org.jboss.as.security] (ServerService Thread Pool — 44) JBAS013101: Activating Security Subsystem
10:10:35,055 INFO [org.jboss.as.configadmin] (ServerService Thread Pool — 26) JBAS016200: Activating ConfigAdmin Subsystem
10:10:35,024 INFO [org.jboss.as.osgi] (ServerService Thread Pool — 39) JBAS011940: Activating OSGi Subsystem
10:10:35,019 INFO [org.jboss.as.naming] (ServerService Thread Pool — 38) JBAS011800: Activating Naming Subsystem
10:10:35,691 INFO [org.jboss.as.webservices] (ServerService Thread Pool — 48) JBAS015537: Activating WebServices Extension
10:10:36,180 INFO [org.jboss.as.naming] (MSC service thread 1-1) JBAS011802: Starting Naming Service
10:10:36,272 INFO [org.jboss.as.security] (MSC service thread 1-2) JBAS013100: Current PicketBox version=4.0.7.Final
10:10:36,315 INFO [org.jboss.as.connector] (MSC service thread 1-1) JBAS010408: Starting JCA Subsystem (JBoss IronJacamar 1.0.9.Final)
Please help to fix this.
Ravi
February 8th, 2013 on 9:13 pm
Hi Jay, thanks for all your posts.
May I know, how the code you are providing can be used in my server