[jboss-user] [jBPM Users] - Re: How to use timers?

mauromol do-not-reply at jboss.com
Tue Nov 24 04:04:01 EST 2009


Dear kukeltje,
I was wondering why you decided to loose your time to answer to my stupid questions without even reading them.

However, I should have remembered your kindness and tendency to discussion from my previous experiences some months ago, both in the forum and in JIRA. But as I am too in a really good mood, I will reply.

Regarding jBPM documentation:

anonymous wrote : 
  | http://docs.jboss.com/jbpm/v3.2/userguide/html_single/#tasktimers 
  | http://docs.jboss.com/jbpm/v3.2/userguide/html_single/#scheduler 
  | http://docs.jboss.com/jbpm/v3.2/userguide/html_single/#timer.element 
  | 

Is this exhaustive documentation for you? Maybe we have a different idea about the mean of "documentation". Have you ever read the documentation for Spring (that's the first example that comes into my mind)? Have you ever looked at jBPM 3 source code just to seek for some basic Javadoc? How much did you find?

anonymous wrote : 
  | http://fisheye.jboss.org/changelog/JbpmSvn/jbpm3/trunk/modules/core/src/test/java/org/jbpm/scheduler/exe?todate=1248416261336
  | 
  | etc (including several posts in the forum)... so saying there is no documentation is plain wrong ;-).
  | 

This is NOT documentation, these are web pages that talk about problems like mine because there is poor official documentation available! Especially, pointing me to a series of SVN logs saying they are "documentation" is something that really makes me laugh.

Before you spend even more time to reply that jBPM is an open source project and that everyone can contribute in either code or documentation, let me say that I can even accept that jBPM has poor documentation, but please at least don't say that my questions are stupid because there is exhaustive documentation available!!!

anonymous wrote : 
  | First of all, let me point you to http://catb.org/~esr/faqs/smart-questions.html#volume
  | 

It is really frustrating to read these gems of wisdom, especially after I used a http://www.jboss.org/index.html?module=bb&op=viewtopic&t=158610 to post my question and I even followed your "suggestion" to provide a ready to copy-'n'-paste test case. I did that and it is bad... What should I say?

anonymous wrote : 
  | anonymous wrote : 
  |   | The first problem I encounter is a "service 'scheduler' unavailable" error. Searching on the net I found some hints like "start the scheduler" or "change the configuration in src/main/config/jbpm.cfg.xml. 
  |   | 
  | 
  | Isn't the internet great
  | 

Yes it is and I use it every day for my work. It is a pity that, in this case, the suggestion given were useless... But you surely missed it, because you were so much happy to start your new controversy that you didn't even try to read and understand my post.

anonymous wrote : 
  | anonymous wrote : 
  |   | But nobody explains WHAT is the scheduler, 
  |   | 
  | 
  | Are you serious? You did not ever get the impression that it is used to execute timers? Strange since you have a problem with timers and a message that the scheduler is unavailable and you started searching in this direction. Oh, and it is in the first chapter of the user docs: http://docs.jboss.org/jbpm/v3/userguide/introduction.html#d0e130
  | 

You're really nice. Of course I know WHAT is a scheduler. I meant: what is jBPM Scheduler? Which classes do implement it? How is it meant to be used especially in my case? Doesn't jBPM start a scheduler by its own if it is needed? How is it related to a multi-threaded environment especially in a JUnit test case? How this then translates to a web application environment?

anonymous wrote : 
  | anonymous wrote : 
  |   | how to start it, etc.. 
  |   | 
  | 
  | Besides in the docs: http://docs.jboss.org/jbpm/v3/userguide/deployment.html#webapplication
  | 

I'm writing a test case, I am not running in a web application for now.

anonymous wrote : 
  | Very little searching yielded 
  | http://www.jboss.org/index.html?module=bb&op=viewtopic&t=80078&postdays=0&postorder=asc&start=10
  | 

Interesting. So, please, show me where there's explained how to start the scheduler there?
Anyway, if you read my post you would have seen that I was able to make the jBPM timer work without starting any scheduler, just by adding a JTA JAR in the classpath, by creating my own jBPM context and by "persisting" the process definition. So... what is the whole Scheduler thing about!?!?!? What am I doing wrong?

anonymous wrote : 
  | anonymous wrote : 
  |   | However, after some trials and debugging sessions I found that the solution to this problem is another one: you need to create a JbpmContext by yourself: 
  |   | 
  | 
  | This is also very basic jBPM stuff and in almost all examples, getting started. So I it sounds strange to me that you only found this out through debugging.
  | 

Please, don't talk about the jBPM 3 silly configuration mechanism otherwise we could discuss for an entire week!!! I always throw up my hands in despair when I look at the internals of it... Apart from the fact that there's no evident dependency between the variable jbpmContext and the signal calls (it's solely needed to make the broken "static" mechanism of the "current" jBPM context work), it's even less clear why half of the things work without having to create a jBPM context before and the other half does not.
Anyway, given that things work in this way, it would be simple enough to highlight it everywhere and make the Eclipse plugin provide a built-in test case that does the same thing, instead of something that doesn't.

And, regarding the debug thing: how could I understand that the problem was that without debugging if:
- the error message is saying something different ("the scheduler is anaivalable", while the problem is that a jBPM context cannot be found...)
- the debug logs don't say anything useful about it

anonymous wrote : 
  | anonymous wrote : 
  |   | However, as I'm working with no database at all, I wouldn't expect that.
  |   | 
  | 
  | You yourself might not be, but does it come as a surprise that jBPM might need one? jBPM is a statemachine, mainly for workflow, so long running processes. Most people would like that state to be persistent to survive a crash or restart. Most systems use a database for this (as does jBPM).
  | 

Really? Oh, I didn't know that! I worked for months to embed jBPM in our web application and make it work in a JTA environment together with Hibernate, Spring and JBoss Transactions and I didn't even know that jBPM used a database at all...................... Again, you are really nice. There's a big difference between the sentences "jBPM CAN use a database to persist processes" and "jBPM MUST persist processes in a database". In my simple test case I just wanted to move a process on, start a timer and see the timer action executed... why should I persist the whole thing in a database?

If there are some technical limitations that force to persist a process definition and to have JTA classes (!!!) available in the classpath to make the scheduling thing work, just say it instead of enjoyng yourself.

Given all of this, I'm still waiting for some help regarding my problem (you didn't even get closed to it...).

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4267232#4267232

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4267232



More information about the jboss-user mailing list