Я не уверен (я никогда не использовал это), но 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-как вы предложили
У меня нет лучших предложений.