[Design of Embedded JBoss] - Shortcomings of Virtual Archives (in progress)
by ALRubinger
Given the following code:
final VirtualVfsArchive deployment = new VirtualVfsArchiveImpl(name).addClasses(OutputBean.class,
| OutputLocalBusiness.class);
| log.info(deployment.toString(true));
...we get:
01:21:52,305 INFO [ServerTestCase] MemoryContextHandler@2105530421[path= context=vfsmemory://testDeployment.jar real=vfsmemory://testDeployment.jar]
| - 0 bytes
| org - 0 bytes
| org/jboss - 0 bytes
| org/jboss/embedded - 0 bytes
| org/jboss/embedded/testsuite - 0 bytes
| org/jboss/embedded/testsuite/fulldep - 0 bytes
| org/jboss/embedded/testsuite/fulldep/ejb3 - 0 bytes
| org/jboss/embedded/testsuite/fulldep/ejb3/slsb - 0 bytes
| org/jboss/embedded/testsuite/fulldep/ejb3/slsb/OutputBean.class - 844 bytes
| org/jboss/embedded/testsuite/fulldep/ejb3/slsb/OutputLocalBusiness.class - 312 bytes
It's nice from an API standpoint, and this is what we're aiming for at this stage in the game.
However, the underlying impl is hacky. We've already loaded the class, yet what's happening under the covers is:
1) Get the CL which loaded the class
2) Get the URL of the resource representing the class
3) Read in the bytes of the .class file
4) Put those bytes into the virtual archive
It's all done in VirtualVfsArchiveImpl. So this creates an inefficient memory structure where we're duplicating already-read bytes. Conversation w/ Jason and DML in #jboss-dev lead to the resolution that we'll need some indirection in here at some point to say "requests for this class within this virtual archive can look first at some internal Map of Classes". Carlo later pointed out that probably a virtual file handler is in order.
So this is still a TODO. https://jira.jboss.org/jira/browse/EMB-35
S,
ALR
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4243160#4243160
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4243160
16 years, 8 months
[Design of JBoss Web Services] - Does JBoss handle SOAP request with additional working Threa
by pccontact168
Dear all,
I have a SOAP application which call other server's SOAP and do some process. But the response time from another server is about 1-4 seconds.
I plan to setup JBoss on Q8200(4core Intel CPU) with 4GB RAM server.
The JVM Heap is about 2G.
My SOAP application use a Thread.Sleep(1000 until 4000) to simulate the process from another server's response.
As far as I know, each client request need one "worker thread" to handle the request no matter NIO or not(this is a SOAP request not static file).
Then the maxthreads is the key on the max. concurrent request my JBoss server can handle.
Now, I am wondering what is the max. # of the MaxThreads a JBoss application server can handle in my situation.
I tested on Glassfish Tomcat, it looks like about 500 only. That means the best throughput is at most 500 TPS(beacause each working thread has to wait at least 1 second).
Can JBoss better than that?
How is the configuration?
Thanks!!
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4243127#4243127
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4243127
16 years, 9 months