У меня очень простой MDB, который прекрасно работает, если очередь, из которой он читает сообщения, не защищена
После того, как я защищаю очередь именем пользователя, она больше не может читать сообщения
@MessageDriven(mappedName = "DistributedQueueTest")
public class MdbReceiver implements MessageListener {
@Resource
private MessageDrivenContext mdc;
@Override
public void onMessage(Message inMessage) {
TextMessage msg = null;
try {
msg = (TextMessage) inMessage;
System.out.println("Test MdbReceiver Message received : " + msg.getText());
} catch (JMSException e) {
e.printStackTrace();
mdc.setRollbackOnly();
}
}
}
Я пробовал со всеми видами аннотаций @RunAs
@weblogic.jws.security.RunAs(role="Joan",mapToPrincipal="ccc_user")
где ccc_user разрешено читать сообщения из очереди
import javax.annotation.security.RunAs;
@RunAs("SomeRole")
выдает ошибку при развертывании
Невозможно развернуть EJB: MdbReceiver from mdbReceiver.jar: Ожидаемая роль в отображении
Любая идея, как я могу сделать это с аннотациями? Я пробовал даже без аннотаций
... то же самое исключение в консоли weblogic
weblogic.jms.common.JMSSecurityException: Access denied to resource: type=<jms>, application=UNIV_REC_Module, destinationType=queue, resource=DistributedQueueTest, action=receive
Спасибо