[Design of JBoss jBPM] - Questions on EJB2 enterprise module
by camunda
Hi Alex,
I currently review the current enterprise module and have some questions. I hope you don't mind if I post them here?
- Commands: I thought about that they should be moved to the jbpm core command base. But this special behavior avoid this to be easy:
ExecuteJobCommand / postJobsExecution: There a JMS message is created hard coded. Wouldn't it be possible to create the jobs again via the MessageService? In the JMS implementaion this will create messages but use the default way and code?
- Why is the ExecuteJobsCommand that much easier than the ExecuteJobCommand? shouldn't it basically include the same logic?
- The ExecuteTimerCommand could easily be moved to jbpm core timers, wouldn't that be a good option? Can I do such a refactoring?
Thanks
Bernd
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4208959#4208959
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4208959
17 years, 1 month
[Design of JBoss Transaction Services] - 'public' API stability when embedded in JBossAS
by jhalliday
The long term support commitments for JBossTS CP maintenance involve not making public API changes, the intention being that users can be confident that moving between CP releases won't cause linker type errors. Unfortunately this is at odds with the need to fix bugs, which can sometimes require API changes. As we prepare to fork another long term maintenance branch I think we should spend some time considering this dilemma.
What is the API we wish to support? We have got ahead of the game with XTS, explicitly packaging (i.e. different .jar) the API distinct from the implementation. For the rest of JBossTS it's all bundled up together, so we have to consider any 'public' class to be part of our published API. For a long time the codebase has used .internal. packages to denote implementation, but users are not necessarily aware of this distinction.
A lot of code which end users need to access directly when running standalone, is abstracted by the app server when running embedded. Arguably the only public API for JBossTS when embedded in JBossAS, is the TransactionManagerService mbean, CORBA interceptors, ObjectStore and possibly a recovery class or two. The rest is all abstracted via javax.transaction. But this is at odds with the 'if we ship it we support it' model, since the binaries still include e.g. TxOJ and TransactionalDriver, neither of which JBossAS uses.
My personal preference would be to publish the list of interfaces/classes we consider stable and make clear that everything else is subject to change in CPs, regardless of .internal. or 'public' modifiers.
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4208938#4208938
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4208938
17 years, 1 month