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

Reply via email to