Кто-нибудь знает, можете ли вы создать тему и ее фабрику соединений проблематично? В настоящее время я использую утилиту администратора Glassfish для создания моей темы и ее фабрики соединений. Если я не могу создать его в коде, у glassfish/openmq есть тема по умолчанию и фабрика conn, которую я могу использовать?Как создать jms тему и темуConnectionFactory программно?
ответ
Если вы только хотите обойти создание ресурсов вручную в админе, вы можете просто развернуть их с файлом «glassfish-resources.xml» (GF 3.1, см. http://docs.oracle.com/cd/E18930_01/html/821-2417/giyhh.html).
Вам нужен админ-объект-ресурс, как этот (для темы):
<admin-object-resource enabled="true" jndi-name="jms/myTopic"
object-type="user" res-adapter="jmsra" res-type="javax.jms.Topic">
<property name="Name" value="physicalTopic"/>
</admin-object-resource>
Имейте в виду, что вы должны использовать различные значения «Name» для темы (здесь: «physicalTopic»), если вы реализуете несколько тем, сообщения которых не должны смешиваться.
Далее вам нужен ресурс соединителя, ссылающийся на пул соединений-подключений типа javax.jms.TopicConnectionFactory.
Если вы не стремитесь к динамическому созданию ресурсов, используя дескриптор развертывания glassfish-resources.xml, это лучший способ.
Пожалуйста, обратите внимание, что ресурсы, развернутые таким образом: применение в области видимости: http://docs.oracle.com/cd/E18930_01/html/821-2417/giydj.html
"GlassFish-resources.xml" является файл для GF 3.x для GF 2.x это было «ВС-resources.xml ». Файл находится в папке «Ресурсы сервера» в представлении проекта, если вы используете NetBeans. Внимание: Glassfish-resources.xml в «Ресурсах сервера» используется только NetBeans, если вы используете NetBeans для развертывания! NetBeans знает, как создавать ресурсы диссертаций и выполняет эту задачу. Если вы развертывания EAR непосредственно Glassfish без NetBeans - что представляется весьма вероятно, для производственной среды - вы должны предоставить GlassFish-resources.xml в:
- META-INF вашего модуля EJB или WEB -INF вашей WAR для ресурсов с ограниченным модулем
- META-INF вашего корпоративного приложения для широкого спектра приложений В NetBeans вы выполняете это, помещая файл в папку «Конфигурационные файлы» вашего проекта (это src/conf/в файловой системе).
Вы можете легко создать это определение ресурса с помощью мастера NetBeans [New Message-Driven Bean] (просто добавьте MBean, выбрав [New ...]). В мастере выберите «Направления проекта»> [Добавить]. Полный +3,1 пример выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE resources PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Resource Definitions//EN" "http://glassfish.org/dtds/glassfish-resources_1_5.dtd">
<resources>
<admin-object-resource enabled="true" jndi-name="jms/myDestination" res-type="javax.jms.Topic" res-adapter="jmsra">
<property name="Name" value="PhysicalTopic"/>
</admin-object-resource>
<connector-connection-pool name="jms/myDestinationFactoryPool" connection-definition-name="javax.jms.TopicConnectionFactory" resource-adapter-name="jmsra"/>
<connector-resource enabled="true" jndi-name="jms/myDestinationFactory" pool-name="jms/myDestinationFactoryPool" />
</resources>
Это MBean аннотация:
@MessageDriven(mappedName = "java:app/jms/myDestination", activationConfig =
{
@ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge"),
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Topic"),
@ActivationConfigProperty(propertyName = "subscriptionDurability", propertyValue = "Durable"),
@ActivationConfigProperty(propertyName = "clientId", propertyValue = "NewMessageBean"),
@ActivationConfigProperty(propertyName = "subscriptionName", propertyValue = "NewMessageBean")
})
public class NewMessageBean implements MessageListener
{
[...]
Внимание: «Java: приложение /» в mappedName правильно, только если вы используете приложения область видимости ресурсов. Вы можете сэкономить «java: app /» в определении в glassfish-resources.xml. В руководстве по развертыванию GF говорится: «Имена JNDI ресурса с областью приложения начинаются с java: app или java: module. Если один из этих префиксов не указан в имени JNDI, он добавляется».
Вы также можете ввести другой уровень косвенности, используя «имя» вместо «сопоставленное имя». Затем вам необходимо предоставить файл с именем «application-client.xml», где (логическое) имя отображается в физическое местоположение JNDI.
- 1. Как создать тему программно в JMS?
- 2. Невозможно создать тему JMS программно в WebSphere
- 3. Как программно создать тему w/hornet q?
- 4. Как изменить тему JMS программно в CXF сгенерированном клиенте?
- 5. Как вы публикуете тему JMS с помощью Spring JMS?
- 6. Свобода, как указать тему JMS в server.xml
- 7. Как подписаться на тему JMS через Mule?
- 8. Как часто я должен создавать тему подключения JMS и сеанс
- 9. Модифицировать тему Android программно
- 10. Как создать тему клавиатуры?
- 11. Как создать новую тему
- 12. Как создать тему затмения?
- 13. Как создать дочернюю тему?
- 14. Получите тему в JMS, используя Java SE
- 15. Создать тему
- 16. Сменить тему терминала Gnome программно
- 17. Как создать переменную темы JMS в Grails?
- 18. Как автоматически создать тему/очередь JMS на JBoss в переносном и для каждого приложения?
- 19. JMS несколько долговечных подписчиков на одну тему
- 20. HornetQ JMS Тема в тему Мост
- 21. Как интегрировать тему jms для подачи Storm spout
- 22. JMS Подписка на тему Tomee 1.7.1
- 23. Как создать тему и каналы в NSQ?
- 24. Как создать Wordpress тему как
- 25. TWiki Добавить новую тему программно
- 26. Как читать статистику очереди jms программно
- 27. Изменить тему для кнопки программно
- 28. Как выбрать тему программно в Vista
- 29. как задать тему программно в wordpress?
- 30. Как создать новую тему с pykafka с разделами и репликацией?
Спасибо! Не могли бы вы узнать, где я могу получить синтаксис добавления ресурса фабрики соединений в файл glassfish-resources.xml? Также я не нашел файл glassfish-resources.xml в моей установочной директории. Где я буду прикреплять этот файл после того, как я выясню, как его создать? Есть ли предыдущий, который я могу изменить и, возможно, узнать? – simgineer