I was just looking at the JbpmThreadServlet source code (3.1.2), and noticed
that there are two threads started by an instance of this class, and are stored
as member variables:
CommandExecutorThread commandExecutorThread = null;
| SchedulerThread schedulerThread = null;
| ...
| public void init() throws ServletException {
| ...
| commandExecutorThread = new CommandExecutorThread(jbpmConfiguration);
| commandExecutorThread.start();
|
| schedulerThread = new SchedulerThread(jbpmConfiguration);
| schedulerThread.start();
| }
Now, correct me if I'm wrong, but although the SingleThreadModel servlet was
dropped in newer Servlet specs (2.2 & newer or close as I recall) I believe
that management of servlet instances isn't specified by the servlet spec, no?
While I cannot necessarily name you a particular servlet engine that manages
servlets through pooling vs. a single servlet instance (because I use almost
exclusively Tomcat or embedded Tomcat in JBoss), I can imagine scenarios where
you might want to. I believe that it is entirely legal according to the spec
for a servlet engine implementer to have more than one instance of a servlet
class in existence at the same time. As a result, wouldn't this implementation
of the schedulerThread and commandExecutorThread be problematic, as they are
tied to instances of this Servlet class, rather than tied as statics to the
class itself? You'd have multiple SchedulerThreads and CommandExecutorThreads
running at the same time, no?
Thanks,
Brad
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4006531#4006531
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4006531
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user