[Persistence, JBoss/CMP, Hibernate, Database] - Security Exception: Denied: EJBMethodPermission
by NigelWhite
This just started happening after I upgraded to JBoss 4.2.0
It's completely broken my app.
| 10:11:41,204 ERROR [executehql_jsp]] Servlet.service() for servlet org.apache.jsp.manager.executehql_jsp threw exception
| java.lang.SecurityException: Denied: (javax.security.jacc.EJBMethodPermission com.aspicio.entity.base.Person read)[*:read()], caller
| =Subject:
| Principal: Ultimate Logistics/ultimate/nigelw
| Principal: CallerPrincipal(members:Ultimate Logistics/ultimate/nigelw)
| Principal: Roles(members:User)
|
| at org.hibernate.secure.JACCPermissions.checkPermission(JACCPermissions.java:49)
| at org.hibernate.secure.JACCPreLoadEventListener.onPreLoad(JACCPreLoadEventListener.java:30)
| at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:125)
| at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:854)
| at org.hibernate.loader.Loader.doQuery(Loader.java:729)
| at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
| at org.hibernate.loader.Loader.doList(Loader.java:2220)
| at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
| at org.hibernate.loader.Loader.list(Loader.java:2099)
| at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
| at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
| at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
| at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
| at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
| at org.apache.jsp.manager.executehql_jsp._jspService(executehql_jsp.java:69)
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4056413#4056413
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4056413
18Â years, 10Â months
[JBoss Messaging] - Single MDB Instance Required
by mirabis
Hello community,
i am developing an Event Driven architecture using j2ee (MDB) on JBoss. In this Architecture the incoming business events (raw events) will be fetched by a MDB, wich forward the raw events to Event Stream Processor. My Problem is that JBoss instantiate multiple instances of my MDB. It means the same event will be delivered repeatedly. I just tried to force JBoss to limit the number of MDB instances. But it was useless. My jboss.xml look like this:
<?xml version="1.0"?>
<!DOCTYPE jboss PUBLIC
"-//JBoss//DTD JBOSS 3.2//EN"
"http://www.jboss.org/j2ee/dtd/jboss_3_2.dtd">
<!-- The jboss.xml descriptor for the jrmp-comp.jar ejb unit -->
<enterprise-beans>
<message-driven>
<ejb-name>EventInputAdapterBean</ejb-name>
<destination-jndi-name>topic/rawEventTopic</destination-jndi-name>
<configuration-name>Standard Message Driven Bean</configuration-name>
<invoker-bindings>
<invoker-proxy-binding-name>event-message-driven-bean</invoker-proxy-binding-name>
</invoker-bindings>
</message-driven>
<message-driven>
<ejb-name>ComplexEventInputAdapterBean</ejb-name>
<destination-jndi-name>topic/complexEventTopic</destination-jndi-name>
<configuration-name>Standard Message Driven Bean</configuration-name>
<invoker-bindings>
<invoker-proxy-binding-name>event-message-driven-bean</invoker-proxy-binding-name>
</invoker-bindings>
</message-driven>
</enterprise-beans>
<invoker-proxy-bindings>
<invoker-proxy-binding>
event-message-driven-bean
<invoker-mbean>default</invoker-mbean>
<proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
<proxy-factory-config>
DefaultJMSProvider
StdJMSPool
1
1
10
queue/DLQ
10
0
</proxy-factory-config>
</invoker-proxy-binding>
</invoker-proxy-bindings>
i also made some changes in conf/jbossstandard.xml. The referenced configuration "Standard Message Driven Bean" like following:
<container-configuration>
<container-name>Standard Message Driven Bean</container-name>
<call-logging>false</call-logging>
<invoker-proxy-binding-name>message-driven-bean</invoker-proxy-binding-name>
<container-interceptors>
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor
org.jboss.ejb.plugins.LogInterceptor
org.jboss.ejb.plugins.RunAsSecurityInterceptor
<!-- CMT -->
org.jboss.ejb.plugins.TxInterceptorCMT
org.jboss.ejb.plugins.CallValidationInterceptor
org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor
<!-- BMT -->
org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor
org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT
org.jboss.ejb.plugins.CallValidationInterceptor
org.jboss.resource.connectionmanager.CachedConnectionInterceptor
</container-interceptors>
<instance-pool>org.jboss.ejb.plugins.MessageDrivenInstancePool</instance-pool>
<instance-cache></instance-cache>
<persistence-manager></persistence-manager>
<container-pool-conf>
1
true
</container-pool-conf>
</container-configuration>
can you please tell me, what my mistake is.
thanks
Saeed
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4056409#4056409
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4056409
18Â years, 10Â months
[JBoss jBPM] - ERROR JDBCExceptionReporter : Table not found in statement
by javi0704
Hi anyone,
i am trying to deploy a simple processDefinition by programmatically. But i got a problem.
My processDefinition looks like this.
<?xml version="1.0" encoding="UTF-8"?><process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="DecisionProcess">
<start-state name="start">
</start-state>
<task-node name="Request">
</task-node>
<task-node name="Checking">
</task-node>
<end-state name="End"/>
</process-definition>
And hier is my Java Code. package com.test;
import org.jbpm.JbpmConfiguration;
import org.jbpm.JbpmContext;
import org.jbpm.graph.def.ProcessDefinition;
public class DeployingTest {
public static void main(String[] args) {
JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
ProcessDefinition prd = ProcessDefinition.parseXmlResource("DecisionProcess/processdefinition.xml");
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
try{
if(jbpmConfiguration!=null){
jbpmContext.deployProcessDefinition(prd);
System.out.println("!!!=== Is Deployed");
}else{
System.out.println("!!!=== Is not Deployed");
}
}catch (Exception e) {
// TODO: handle exception
System.err.println("Which error?: " +e);
}finally{
jbpmContext.close();
}
}
}
When i try this i got this Exceptions:
12:35:39,828 [main] DEBUG DbPersistenceService : beginning hibernate transaction
12:35:39,906 [main] WARN JDBCExceptionReporter : SQL Error: -22, SQLState: S0002
12:35:39,906 [main] ERROR JDBCExceptionReporter : Table not found in statement [select top ? processdef0_.ID_ as ID1_4_, processdef0_.NAME_ as NAME3_4_, processdef0_.DESCRIPTION_ as DESCRIPT4_4_, processdef0_.VERSION_ as VERSION5_4_, processdef0_.ISTERMINATIONIMPLICIT_ as ISTERMIN6_4_, processdef0_.STARTSTATE_ as STARTSTATE7_4_ from JBPM_PROCESSDEFINITION processdef0_ where processdef0_.NAME_=? order by processdef0_.VERSION_ desc]
org.hibernate.exception.SQLGrammarException: could not execute query
I proved the table in the Database aun it exist already
thanks in advance
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4056403#4056403
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4056403
18Â years, 10Â months