OK. Code typed from memory, so forgive the inevitable syntax errors. I hope it conveys what I'm trying to do.
[code]
@Stateless
public class MyBean implements SomeInterface {
@Resource
private KnowledgeBase kb; // Provided by Drools resource adapter
@PersistenceContext
private EntityManager em;
@Override
public void someMethod(final SomeObject gunk) {
assert kb != null;
assert em != null;
final StatefulKnowledgeSession sks = kb.newStatefulKnowledgeSession();
assert sks != null;
try {
sks.setGlobal("entityManager", em);
sks.insert(gunk);
sks.fireAllRules();
// do other stuff, maybe
} finally {
sks.dispose();
}
}
}[/code]
Then in rules land, you can make use of the entity manager:
[code]
when
$fact : SomeObject()
then
// get em from globals
em.persist(new FrobnicationResult());
[/code]
Best,
Laird
[Message sent by forum member 'ljnelson']
http://forums.java.net/jive/thread.jspa?messageID=474412