MDB подключен к Oracle AQ через источник данных - PullRequest
2 голосов
/ 29 июня 2011

Я пытаюсь создать MDB (JBoss AS 6), который подключается к очереди Oracle AD.

У меня работает следующий пример:

@MessageDriven(name = "TestMdb", activationConfig = {
    @ActivationConfigProperty(propertyName="destinationType", propertyValue = "javax.jms.Queue"),
    @ActivationConfigProperty(propertyName="connectionFactoryProperties", propertyValue="jdbc_connect_string=jdbc:oracle:thin:XXXXX@XXX:1521:XXX,host=XXXX,user=XXXX,password=XXXX,port=XXXX,sid=XXXX,driver=XXXX"),
    @ActivationConfigProperty(propertyName="destinationProperties", propertyValue="owner=XXXXX,name=jms_text_que"),
    @ActivationConfigProperty(propertyName="userName", propertyValue="XXXX"),
    @ActivationConfigProperty(propertyName="password", propertyValue="XXXX"),
    @ActivationConfigProperty(propertyName="ConnectionFactoryClassName", propertyValue="oracle.jms.AQjmsConnectionFactory"),
    @ActivationConfigProperty(propertyName="QueueConnectionFactoryClassName", propertyValue="oracle.jms.AQjmsQueueConnectionFactory")
    })
@ResourceAdapter("XXXXXX-ear.ear#genericjmsra.rar")
@TransactionManagement(TransactionManagementType.BEAN)
public class TestMdb  implements MessageListener {

    public void onMessage(Message message) {
    ...
    }
}

Проблема в том, что мне нужно указать свойства соединения непосредственно в коде (включая хост БД, имя пользователя и пароль). Кто-нибудь знает способ использования источника данных из поиска jndi?

Спасибо

1 Ответ

1 голос
/ 03 июля 2011

Обидно, что реализация учебником конфигурации аннотаций MDB диктует жесткое кодирование специфических значений среды и безопасности.Обработка аннотаций в Java также чертовски умна, чтобы убедиться, что вы не крадете какое-то непостоянное значение, например final String MyConfig = System.getProperty (....) .

AtВ любом случае, вы можете сконфигурировать часть или всю конфигурацию MDB для дескриптора развертывания XML, который является более дружественным (хотя и более сложным для построения и развертывания).Дескрипторы развертывания JBoss XML могут иметь значения, назначенные в $ {} токенах, которые ссылаются на свойства системы, поэтому они немного более управляемы с точки зрения конфигурации.

...