Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

Support Article

onMessage(javax.jms.Message) of bean: PRAsync is not allowed

SA-76293

Summary



Error messages display repeatedly in the JBoss server log after Pega engine initialization.


Error Messages



ERROR [org.apache.activemq.artemis.ra] (Thread-24 (ActiveMQ-client-global-threads-1360073996)) AMQ154004: Failed to deliver message: javax.ejb.EJBAccessException: WFLYEJB0364: Invocation on method: public void com.pega.pegarules.internal.etier.mdb.PRAsyncBoot.onMessage(javax.jms.Message) of bean: PRAsync is not allowed
at org.jboss.as.ejb3.security.AuthorizationInterceptor.processInvocation(AuthorizationInterceptor.java:134) 
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) 
at org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:100) 
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) 
at org.jboss.as.ejb3.deployment.processors.StartupAwaitInterceptor.processInvocation(StartupAwaitInterceptor.java:22) 
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) 
at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64) 
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) 
at org.jboss.as.ejb3.deployment.processors.EjbSuspendInterceptor.processInvocation(EjbSuspendInterceptor.java:53) 
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:66) 
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) 
at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50) 
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) 
at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:54) 
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) 
at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponentDescription$5$1.processInvocation(MessageDrivenComponentDescription.java:239) 
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
at org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64) 
at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) 
at
org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356) 
at
org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:632) 
at org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java     at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) 
at
org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356) 
at org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80) 
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) 
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) 
at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:198) 
at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:185) 
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340) 
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) 
at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:73) 
at com.pega.pegarules.internal.etier.mdb.PRAsyncBoot$$$view34.onMessage(Unknown Source) 
at sun.reflect.GeneratedMethodAccessor101.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:497) 
at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.doInvoke(MessageEndpointInvocationHandler.java:139) 
at org.jboss.as.ejb3.inflow.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:73) 
at com.pega.pegarules.internal.etier.mdb.PRAsyncBoot$$$endpoint5.onMessage(Unknown Source) 
at org.apache.activemq.artemis.ra.inflow.ActiveMQMessageHandler.onMessage(ActiveMQMessageHandler.java:315) 
at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:1018) 
at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.access$400(ClientConsumerImpl.java:48) 
at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:1145) 
at org.apache.activemq.artemis.utils.OrderedExecutorFactory$OrderedExecutor$ExecutorTask.run(OrderedExecutorFactory.java:103) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)



Steps to Reproduce



Unknown


Root Cause



A defect or configuration issue in the operating environment. 
The change, which increased security checks around MDB.onMessage(), was made to support the Java Connector Architecture (JCA) 1.6.


Resolution



Make the following change to the operating environment: 
  1. Add the following method-permission entry to the META-INF/ejb-jar.xml.
      <method-permission>
          <unchecked/>
          <method>
            <ejb-name>PRAsync</ejb-name>
            <method-name>*</method-name>
          </method>
        </method-permission>
  1. Use a META-INF/jboss-ejb3.xml file to set the missing-method-permissions-deny-access config option to false on the Message Driven Bean (MDB) such that access is not denied by default when Method permissions are not defined on the bean.
    <?xml version="1.0" encoding="UTF-8"?>
    <jboss:jboss
        xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:jboss="http://www.jboss.com/xml/ns/javaee"
        xmlnssi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:s="urn:security:1.1"
        version="3.1" impl-version="2.0">
     
    <assembly-descriptor>
        <s:security>
        <ejb-name>PRAsync</ejb-name>
        <s:missing-method-permissions-deny-access>false</s:missing-method-permissions-deny-access>
        </s:security>
    </assembly-descriptor>
    </jboss:jboss>
 

Published April 2, 2019 - Updated December 2, 2021

Was this useful?

100% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice