[JBoss Web Services] - JBoss WebServices and Invokers
by Rohit Macherla
Rohit Macherla [http://community.jboss.org/people/rohit.macherla] created the discussion
"JBoss WebServices and Invokers"
To view the discussion, visit: http://community.jboss.org/message/596732#596732
--------------------------------------------------------------
Hi all,
I need a little help in understanding how JBoss Invokers work. I am not sure I understood
whatever I've read, so please let me know when I am wrong.
I use JBoss 4.2.3 in my project and have JAX-WS webservices deployed in it (Consider one of
these as WebService A). These WebServices are POJO based ones and form WebService clients to
EJB based WebServices that my vendor offers (Consider one of these vendor WebServices V).
Hence, I have WebService to WebService calls within same JVM, i.e., the invocation flow is:
External system -> A -> V -> Database
When a new request comes in for A, where does the invoker come in ? I thought that the
internal WebService call from A to V uses the invoker as V is an EJB based WebService and I
have configured "Standard Stateless SessionBean" to use "stateless-rmi-invoker" which inturn
uses "jboss:service=invoker,type=pooled" (That was what I've configured in standardjboss.xml).
My jboss-service.xml for pooled invoker is:
<mbean code="org.jboss.invocation.pooled.server.PooledInvoker"
name="jboss:service=invoker,type=pooled">
<attribute name="NumAcceptThreads">5</attribute>
<attribute name="MaxPoolSize">300</attribute>
<attribute name="ClientMaxPoolSize">300</attribute>
<attribute name="SocketTimeout">240000</attribute>
<attribute name="ServerBindAddress">${jboss.bind.address}</attribute>
<attribute name="ServerBindPort">4445</attribute>
<attribute name="ClientConnectAddress">${jboss.bind.address}</attribute>
<attribute name="ClientConnectPort">0</attribute>
<attribute name="ClientRetryCount">1</attribute>
<attribute name="EnableTcpNoDelay">false</attribute>
<!-- Customized socket factory attributes
<attribute name="ClientSocketFactoryName">custom.client.factory</attribute>
<attribute name="ServerSocketFactoryName">custom.server.factory</attribute>
<attribute name="SslDomain">java:/jaas/pooledInvoker</attribute>
-->
<depends
optional-attribute-name="TransactionManagerService">jboss:service=TransactionManager</depends>
</mbean>
However, when I take a look at the threaddump (via the JMX console jboss.system:type=ServerInfo listThreadDump()), I don't find any PooledInvokerThread instances in the thread dump. Does that mean that I am not using pooled invokers ?
I am trying to see if there are any areas where I can tweak some parameters to improve the number of requests that JBoss can handle for my application. So, I just wanted to know if I am looking in the right areas.
Thanks.
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/596732#596732]
Start a new discussion in JBoss Web Services at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
15 years
[JBoss Tools] - Updating your JBossTools manifest.mf files for Indigo
by Rob Stryker
Rob Stryker [http://community.jboss.org/people/rob.stryker] modified the document:
"Updating your JBossTools manifest.mf files for Indigo"
To view the document, visit: http://community.jboss.org/docs/DOC-16675
--------------------------------------------------------------
*Explanation*
Since Indigo is a new version of eclipse and a new version of all our dependencies, we're going to become more strict on how we declare our eclipse dependencies. As of now, most plugins have a tendency to *not* declare version ranges in their manifest.mf, and we're going to begin to change that. One of the tools we will use in the future is API tooling that comes with eclipse to check backwards compatibility, but that will come later. In preparation for that, we are going to declare our new baseline to be the Indigo GA release.
*What does this mean for my plugins?*
Your plugins will need to change all dependency references in the MANIFEST.MF file to declare a minimum dependency of indigo, or, at this time, Indigo m5. At this time we'll only be doing this for eclipse plugin dependencies, and not other JBossTools plugins. The full task is a big long and involves finding out what version of every dependency Indigo will include. This has already been done, and the file listing all the versions is here: https://svn.jboss.org/repos/jbosstools/workspace/rstryker/manifestVersion... https://svn.jboss.org/repos/jbosstools/workspace/rstryker/manifestVersion...
This still doesn't make it much easier, so a small utility app has been made.
*Getting the utility Project*
mkdir tmp
cd tmp
svn co https://svn.jboss.org/repos/jbosstools/workspace/rstryker/manifestVersions/ https://svn.jboss.org/repos/jbosstools/workspace/rstryker/manifestVersions/
cd manifestVersions/FixManifests/bin
vi run.sh
# Now update the script's tmpfileloc and rootFolder to show what file you want to be used
# as a temporary file, and where your root JBossTools repo is.
# The component will be passed in when running this script
# When done... go ahead and...
# ./run.sh {yourComponentName}
./run.sh jmx | sh
The script itself (run.sh) actually simply generates commands to execute, which
we pipe into *sh* to ensure they are run. An example command generated by using
the script is as follows:
java Main ../src/data.mf /home/rob/code/jbtools/jbosstools/trunk/jmx/plugins/org.jboss.tools.jmx.ui/META-INF/MANIFEST.MF > ~/tmpFile && mv ~/tmpFile /home/rob/code/jbtools/jbosstools/trunk/jmx/plugins/org.jboss.tools.jmx.ui/META-INF/MANIFEST.MF
The script will now REPLACE all your manifest.mf files for the chosen component.
You can now refresh your eclipse environment and make sure all manifest files
have been updated appropriately. Make sure there are no compile errors
and make sure nothing horrible has changed.
You can also check via command line by going into your component folder
and performing
svn diff
*But.... I'm not on linux!*
No worries, friend! You can execute the java command yourself!
java Main ../src/data.mf /path/to/your/svn/trunk/component/plugins/org.jboss.first.plugin
This will output to standard out a new Manifest file. You can save the output in the appropriate
manifest file directly, copy-paste it, or whatever method you want.
--------------------------------------------------------------
Comment by going to Community
[http://community.jboss.org/docs/DOC-16675]
Create a new document in JBoss Tools at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=102&co...]
15 years
[jBPM] - jbpm, process definitions, jboss - looking for knowledge
by Piotr Tempes
Piotr Tempes [http://community.jboss.org/people/carek] created the discussion
"jbpm, process definitions, jboss - looking for knowledge"
To view the discussion, visit: http://community.jboss.org/message/596512#596512
--------------------------------------------------------------
Hi. I decided to write here because I am stucked with a project on my studies. I need to write an agent (java application) which would be capable of retrieving business process definitions from jboss, connect to choosen instance of the process and intercept events like process started, process ended, process made a transition from one state to another, etc so that collected data could be sent to the console written by another team member and visualised there.
So I downloaded jbpm full installer and it installed everything for me, next I was able to find a lot of sample codes, but none of them worked. Those codes were ripped of it's context, so I don't have a knowledge on architecture and cofiguration of those technologies. From my research I found out that an agent in order to meet it's tasks can use for example:
1. drools api - that idea came from looking into jbpm-gwt-console code. I downloaded source code from jboss/jbpm site and there I found two classes: ProcessManagement and CommandDelegate which I assume are doing exactly the thing I need to. I assume that they get ProcessDefinition from jboss through KnowledgeBase, KnowledgeAgent, etc... but I don't know how, and I am unable to run this code. I am not sure if this is a right path to folow.
2. my second thought is to use JbpmContext and GraphSession class from Jbpm api but that way I got a lot of various exceptions etc... for example no query defined if I call findAllProcessDefinition etc... I am not even sure if I get the JbpmContext correctly. I don;t know from what place it gets it's configuration, dependecies, etc...
Please guide my toward correct direction. What is the best way to pull from jboss deployed process definitions and than ho to monitor it's instances? What api, technologies, libraries I need? How can I configure it?
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/596512#596512]
Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
15 years