Настройка ресурсов для развертывания GlassFish2.x Cargo - PullRequest
2 голосов
/ 02 ноября 2010

Я пытаюсь заставить интеграционное тестирование работать для проекта GlassFish 2.x, используя Maven2 и Cargo.Наконец, Cargo пытается развернуть EAR, но он не запускается, потому что источник данных не настроен.Приложение также зависит от нескольких очередей JMS и фабрики соединений - как их добавить?

Плагин Cargo Glassfish 2.x говорит, что существующие конфигурации не поддерживаются, поэтому я могусделать это.

Использование опции maven-glassfish-plugin является опцией, но мы также запускаем OC4J, поэтому было бы предпочтительным решение Cargo.Это: 1 пул соединений JDBC, 1 ресурс JDBC, 4 очереди JMS, 2 фабрики соединений JMS и настраиваемая область безопасности (необязательное дерево Pear).Область нуждается в записи в файле login.conf, например:

myRealm {
    uk.co.mycom.MyGlassFishLoginModule required;
};

1 Ответ

1 голос
/ 02 ноября 2010

Я не уверен (я никогда не использовал это), но IIRC, вы должны иметь возможность поместить свою конфигурацию источника данных в файл sun-resources.xml и упаковать ее в META-INF/sun-resources.xml в EAR и GlassFish предполагается создать ресурсы во время развертывания.

Вот пример sun-resources.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE resources PUBLIC "-//Sun Microsystems Inc.//DTD Application Server 9.0 Domain//EN" "sun-resources_1_3.dtd">
<resources>
 <jdbc-connection-pool name="SPECjPool" steady-pool-size="100" 
   max-pool-size="150" max-wait-time-in-millis="60000" 
   pool-resize-quantity="2" idle-timeout-in-seconds="300" 
   is-isolation-level-guaranteed="true" 
   is-connection-validation-required="false" 
   connection-validation-method="auto-commit" 
   fail-all-connections="false" 
   datasource-classname="oracle.jdbc.pool.OracleDataSource">
  <property name="URL" 
    value="jdbc:oracle:thin:@iasperfsol12:1521:specdb"/>
  <property name="User" value="spec"/>
  <property name="Password" value="spec"/>
  <property name="MaxStatements" value="200"/>
  <property name="ImplicitCachingEnabled" value="true"/>
 </jdbc-connection-pool>
 <jdbc-resource enabled="true" pool-name="SPECjPool" 
   jndi-name="jdbc/SPECjDB"/> 
</resources>

Дайте ему попытку.

Ресурсы


Спасибо, это сработало. Источник данных, кажется, все в порядке, и приложение развернуто. Однако из документа, который вы связали, я не вижу, как добавить другие вещи, которые мне нужны (отредактировал более подробно в моем вопросе об этом). Это решение также означает, что мне придется (использовать профили для?) Строить EAR по-разному для ИТ, что несовершенно.

Я почему-то упустил, что вы хотите создать другие ресурсы, кроме источников данных, и я видел несколько потоков, сообщающих, что предлагаемый подход не будет работать с GlassFish v2 для каких-либо ресурсов (например, ресурсов JMS). Мой плохой.

Итак, учитывая текущее состояние, ваши параметры (IMO):

  • внести вклад в Cargo, чтобы обеспечить «существующую» реализацию конфигурации для GlassFish v2
  • используйте плагин maven-glassfish-как вы предложили

У меня нет лучших предложений.

...