imq.brokerid=imqbroker imq.persist.store=jdbc imq.persist.jdbc.dbVendor=mysql imq.persist.jdbc.mysql.property.url=jdbc:mysql://localhost:3306/mqdb imq.persist.jdbc.mysql.createdburl=jdbc:mysql://localhost:3306/mqdb imq.persist.jdbc.mysql.needpassword=true imq.persist.jdbc.mysql.user=USERNAME imq.persist.jdbc.mysql.password=PASSWORDТаким образом, мы настроили сохранение JMS-данных в БД. Нужно еще положить JAR-файл с драйвером БД (mysql-connector-java-5.1.17-bin.jar) в каталог GLASSFISH_HOME/mq/lib/ext. Теперь создадим БД. Для этого воспользуемся утилитой imqdbmgr, которая находится в каталоге GLASSFISH_HOME/mq/bin. Пишем команду:
./imqdbmgr create all -b imqbroker
и получаем следующие таблицы в БД:
MQBKR41Simqbroker MQCON41Simqbroker MQCONSTATE41Simqbroker MQCREC41Simqbroker MQDST41Simqbroker MQJMSBG41Simqbroker MQMSG41Simqbroker MQPROP41Simqbroker MQSES41Simqbroker MQTMLRJMSBG41Simqbroker MQTXN41Simqbroker MQVER41SimqbrokerТеперь можно запускать сам Глассфиш - сохранение JMS-данных пойдет в БД, а не в файлы. Когда создавалась БД, я столкнулся с одной проблемой. Дело в том, что у меня в MySQL кодировкой по умолчанию является UTF-8. Это проблема для OpenMQ, т.к. при создании таблицы MQTMLRJMSBG41Simqbroker появляются ошибки. Но эта проблема решается очень просто - для этого для данной Бд нужно объявить кодировку latin1: ALTER DATABASE mqdb DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci; Тогда все пройдет без ошибок. Полезные ссылки: OpenMQ, the Open source Message Queuing, for beginners and professionals (OpenMQ from A to Z) Browse OpenMQ source code Oracle GlassFish Message Queue 4.4.2 Technical Overview Oracle GlassFish Message Queue 4.4.2 Administration Guide