[JBoss Seam] - Drools
by miloslav.vlach
Can somebody translate this rule to the english ?
| rule InsertMemberBlog
| no-loop
| activation-group "permissions"
| when
| check: PermissionCheck(name == "memberBlog", action == "insert", granted == false)
| Principal(principalName : name)
| MemberBlog(member : member -> (member.getUsername().equals(principalName)))
| then
| check.grant();
| end;
|
I would like to create rule which test if the user own the request:
request.solver.loginName == principal
But I don't know how to do in drools. There is my not working rule:
| rule solvRejectAssignment
| when
| c: PermissionCheck(name == "request", action=="solvRejectAssignment")
| Role(name == "IMS_SOLVER")
| r:Request(state == RequestState.ASSIGNED)
| p:Principal()
| eval( p.equals(r.solver.loginName))
| then
| System.out.println(p);
| c.grant();
| end;
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4074391#4074391
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4074391
18Â years, 11Â months
[Persistence, JBoss/CMP, Hibernate, Database] - BMP ejbStore + Hibernate/har/JTA ?
by HSerg
crosspost from http://www.jboss.com/index.html?module=bb&op=viewtopic&t=115524
When I'm trying to save BMP as: public void SampleBean.ejbStore() throws EJBException, RemoteException {
| try {
| Session hsession = myHelper.getCurrentSession();
| Session dynamicSession = hsession.getSession(EntityMode.MAP);
| dynamicSession.update(_objData);
| } catch (NamingException e) {
| e.printStackTrace();
| }
| }
I have a serious issue - SampleBean.ejbStore doesn't save data to DB, and in the same time, Hibernate is sure that all data is stored.
As you can see from stacktrace, Hibernate stores data into internal cache, but doesn't flush this data into DB. IMHO, it happens because the synchronizer isn't created, which in turn happens because another Hibernate synchronizer exists and executes before SampleBean.ejbStore call.
So, is it a software bug or incorrect configuration of my environment?
System Thread [RMI TCP Connection(2)-192.168.x.x] (Suspended (breakpoint at line 1543 in SampleBean))
| SampleBean.ejbStore() line: 1543
| NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
| NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
| DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
| Method.invoke(Object, Object...) line: 585
| BMPPersistenceManager.invokeEjbStore(EntityEnterpriseContext) line: 498
| CachedConnectionInterceptor.invokeEjbStore(EntityEnterpriseContext) line: 294
| EntityContainer.invokeEjbStore(EntityEnterpriseContext) line: 735
| GlobalTxEntityMap$2.invokeEjbStore(Thread, EntityEnterpriseContext) line: 132
| GlobalTxEntityMap$GlobalTxSynchronization.synchronize() line: 281
| GlobalTxEntityMap$GlobalTxSynchronization.beforeCompletion() line: 345
| TransactionImpl.doBeforeCompletion() line: 1491
| TransactionImpl.beforePrepare() line: 1110
| TransactionImpl.commit() line: 324
| TxInterceptorCMT.endTransaction(Invocation, Transaction, Transaction, int) line: 501
| TxInterceptorCMT.runWithTransactions(Invocation) line: 361
| TxInterceptorCMT.invoke(Invocation) line: 181
| LogInterceptor.invoke(Invocation) line: 205
| ProxyFactoryFinderInterceptor.invoke(Invocation) line: 136
| StatefulSessionContainer(SessionContainer).internalInvoke(Invocation) line: 648
| StatefulSessionContainer(Container).invoke(Invocation) line: 954
| GeneratedMethodAccessor87.invoke(Object, Object[]) line: not available
| DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
| Method.invoke(Object, Object...) line: 585
| ReflectedDispatcher.invoke(Invocation) line: 155
| Invocation.dispatch() line: 94
| Invocation.invoke() line: 86
| XMBean(AbstractMBeanInvoker).invoke(String, Object[], String[]) line: 264
| MBeanServerImpl.invoke(ObjectName, String, Object[], String[]) line: 659
| JRMPInvoker$MBeanServerAction.invoke(ObjectName, String, Object[], String[]) line: 819
| JRMPInvoker.invoke(Invocation) line: 420
| NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
| NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
| DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
| Method.invoke(Object, Object...) line: 585
| UnicastServerRef2(UnicastServerRef).dispatch(Remote, RemoteCall) line: 294
| Transport$1.run() line: 153
| AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]
| TCPTransport(Transport).serviceCall(RemoteCall) line: 149
| TCPTransport.handleMessages(Connection, boolean) line: 466
| TCPTransport$ConnectionHandler.run() line: 707
| Thread.run() line: 595
org.jboss.tm.TransactionImpl.doBeforeCompletion() line: 1491
|
| this TransactionImpl (id=95)
| cause null
| done false
| gid GlobalId (id=122)
| heuristicCode 4
| lastBranchId 1
| lastResource TransactionImpl$Resource (id=126)
| lockDepth 0
| locked null
| resources ArrayList<E> (id=128)
| resourcesEnded false
| start 1186562997765
| status 0
| sync Synchronization[12] (id=141)
| [0] StatefulSessionInstanceInterceptor$InstanceSynchronization (id=5356)
| [1] CacheSynchronization (id=5349)
| ctx SessionImpl (id=5368)
| hibernateTransaction null
| jdbcContext JDBCContext (id=5370)
| transaction TransactionImpl (id=95)
| [2] JTASessionContext$CleanupSynch (id=5350)
| [3] TransactionSynchronizer (id=5351)
| [4] EntitySynchronizationInterceptor$InstanceSynchronization (id=5352)
| [5] GlobalTxEntityMap$GlobalTxSynchronization (id=94)
| instances ArrayList<E> (id=5384)
| synchronizing true
| this$0 GlobalTxEntityMap (id=5398)
| tx TransactionImpl (id=95)
| [6] EntitySynchronizationInterceptor$InstanceSynchronization (id=5353)
| [7] EntitySynchronizationInterceptor$InstanceSynchronization (id=5354)
| [8] EntitySynchronizationInterceptor$InstanceSynchronization (id=5355)
| [9] null
| [10] null
| [11] null
| syncAllocSize 12
| syncCount 9
| threads HashSet<E> (id=145)
| timeout TimeoutPriorityQueueImpl$TimeoutExtImpl (id=137)
| timeoutPeriod 300000
| trace true
| transactionLocalMap Collections$SynchronizedMap<K,V> (id=150)
| work null
| xid XidImpl (id=152)
| i 5
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4074388#4074388
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4074388
18Â years, 11Â months