[Clustering/JBoss] - Jgroups jboss cache deadlock
by lmouton
We are running jgroups 2.3 and jboss cache 1.2.4.SP2 on Red Hat Linux Enterprise Application Server 4r3. Our jgroups is setup with UDP and tree cache is in replicated synch mode. Sometimes when we access the cache, on both put and get, it does not respond. At the same time that the cache stop responding, all the requests to our own jgroup channels also timeout. The JVM dumps below were taken at the time this occurred. This is a high transactional live environment and we would appreciate any assistance.
Dump 1
"http-0.0.0.0-8906-10" daemon prio=1 tid=0x0000002c5e0c7a40 nid=0x7b41 in Object.wait() [0x0000000044622000..0x0000000044623db0] at java.lang.Object.wait(Native Method) - waiting on <0x0000002bdf0898c8> (a java.util.HashMap) at org.jgroups.blocks.GroupRequest.doExecute(GroupRequest.java:492) - locked <
0x0000002bdf0898c8> (a java.util.HashMap) at org.jgroups.blocks.GroupRequest.execute(GroupRequest.java:188) at org.jgroups.blocks.MessageDispatcher.castMessage(MessageDispatcher.java:417) at org.jgroups.blocks.RpcDispatcher.callRemoteMethods(RpcDispatcher.java:165) at org.jboss.cache.TreeCache.callRemoteMethods(TreeCache.java:3327) at org.jboss.cache.TreeCache.callRemoteMethods(TreeCache.java:3357) at org.jboss.cache.interceptors.ReplicationInterceptor.handleReplicatedMethod(ReplicationInterceptor.java:122) at org.jboss.cache.interceptors.ReplicationInterceptor.invoke(ReplicationInterceptor.java:87) at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:4172) at org.jboss.cache.TreeCache.put(TreeCache.java:2914) at org.jboss.cache.TreeCache.put(TreeCache.java:2855) at sun.reflect.GeneratedMethodAccessor162.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80) at org.jboss.mx.server.Invocation.invoke(Invocation.java:72) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644) at mammoth.cache.TreeCacheAOP.put(TreeCacheAOP.java:83)
..Our application code starts here
Dump 2
"http-0.0.0.0-8906-10" daemon prio=1 tid=0x0000002c5e0c7a40 nid=0x7b41 waiting for monitor entry [0x0000000044622000..0x0000000044623db0] at mammoth.cache.TreeCacheAOP.put(TreeCacheAOP.java:81) - waiting to lock <0x0000002ae6454350> (a mammoth.cache.TreeCacheAOP)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3970974#3970974
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3970974
19 years, 7 months
[JBossWS] - Re: How to generate mapping.xml & webservices.xml from WSDL?
by docampbell
Hi,
You can generate the mapping using the "wstools" tool (!), which takes a configuration file to tell it what to do. Here is an example of a configuration file (one I am using for testing at the moment, so excuse some of the hard coded stuff):
| <?xml version="1.0" encoding="UTF-8"?>
| <configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
|
| <global>
| <package-namespace package="itag.wswg.rm.services.ss" namespace="http://itag.wswg.rm"/>
| </global>
|
| <wsdl-java file="C:/AllStuff/eclipse/jbossWorkspace/webby/resources/WSDL/SequenceService.wsdl">
| <mapping file="itag/wswg/rm/SequenceService-mapping.xml" />
| </wsdl-java>
| </configuration>
|
This will take a WSDL file and create the necessary Java classes using the package specified in the "global" section, together with the mapping file as specified.
I do not know if you can generate the webservices.xml file, I just have a template and copy/tailor that to suit, same for the web.xml file.
I call wstools using an ant script, which is shown below (I have copied it directly, as I don't have too much time to edit it - sorry !):
| <project name="wsWSDLbuild" default="buildAll">
|
| <!-- Use some fixed properties that will depend on the installation -->
| <property file="genFromWSDL.properties"/>
|
| <!--
| Required files to run wstools properly (list taken from wstools.sh supplied with the
| JBoss installation and those not absolutely required (found by trial-and-error) have
| been removed (I like to know what is really needed, rather than blindly putting every
| jar in the world here)
| -->
| <path id="jboss.wstools">
| <fileset dir="${jboss.root}/client">
| <include name="activation.jar"/>
| <include name="javassist.jar"/>
| <include name="jbossall-client.jar"/>
| <include name="jbossretro-rt.jar"/>
| <include name="jboss-backport-concurrent.jar"/>
| <include name="jbossws-client.jar"/>
| <include name="mail.jar"/>
| </fileset>
| <fileset dir="${jboss.root}/lib/endorsed">
| <include name="xercesImpl.jar"/>
| </fileset>
| </path>
|
| <!--
| Make up a path for wstools that also includes this projects's class
| base directory (only the base directory is needed or the files will
| not be found)
| -->
| <path id="jboss.wstools.plus.project">
| <path refid="jboss.wstools"/>
| <pathelement path="${class.dir}"/>
| </path>
|
| <!--
| Set up the class file for wstools and ensure that the task will have the
| correct classpath that includes both the wstools required files and also
| the class files from this project
| -->
| <taskdef name="wstools" classname="org.jboss.ws.tools.ant.wstools">
| <classpath refid="jboss.wstools.plus.project"/>
| </taskdef>
|
| <!--
| Build SequenceService
| -->
| <target name="buildSequenceService">
| <echo message="SequenceService"/>
| <wstools dest="${generated.WSDL.output}"
| config="${config.dir}/SequenceServiceWSDLconfig.xml"
| verbose="true"/>
| <echo message="Done SequenceService"/>
| </target>
|
| <!--
| Build TestingService
| -->
| <target name="buildTestingService">
| <echo message="TestingService"/>
| <wstools dest="${generated.WSDL.output}"
| config="${config.dir}/TestingServiceWSDLconfig.xml"
| verbose="true"/>
| <echo message="Done TestingService"/>
| </target>
|
| <!--
| Run wstools on the specified configuration file and generate all the necessary
| artefacts as specified in that file
| -->
| <target name="buildAll" depends="buildSequenceService,buildTestingService">
| <echo message="Built both"/>
| </target>
| </project>
|
The properties file just contains some common property values:
| # Where jboss is installed
| #
| jboss.root=C:/AllProgs/jboss-4.0.4.GA
|
| # Lots of information about the project and the various required locations for classes
| # and configuration files etc.
| #
| eclipse.root=C:/AllStuff/eclipse/jbossWorkspace
| project.name=webby
| project.root=${eclipse.root}/${project.name}
| class.dir=${project.root}/bin
| config.dir=${project.root}/resources/wsbuild
|
| # Directory the generated code should be based from
| #
| generated.output=${project.root}/gensrc
| generated.WSDL.output=${project.root}/genWSDLsrc
|
I run all this from within Eclipse, but it should all run from the command line or whatever.
Hope this is of some help.
Cheers,
Dominic.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3970972#3970972
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3970972
19 years, 7 months