Я работаю над тем, чтобы иметь план развертывания, связанный с приложением ADF, требуется, чтобы у разных сред (WLS) было другое имя источника данных, поскольку из-за некоторых конфликтов имен нельзя использовать одно и то же имя JNDI.
ADF и WLS версия: 12.2.1.3
Я уже упоминал это и это .
Прежде чем начать работу плана развертывания, мне нужночтобы найти способ, где я могу использовать имя переменной в ApplicationModule для источника данных и сослаться на него из web.xml или weblogic-application.xml.
Ниже были добавлены теги в web.xml и weblogic-application.xml
web.xml
<resource-ref>
<res-ref-name>my-data-source</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
weblogic-application.xml
<resource-description>
<res-ref-name>my-data-source</res-ref-name>
<jndi-name>jdbc/DMNonXAGtxDataSrc</jndi-name>
</resource-description>
Источник данных: jdbc / DMNonXAGtxDataSrc уже создан в WLS.
bc4j.xcfg code:
<BC4JConfig xmlns="http://xmlns.oracle.com/bc4j/configuration" version="11.1">
<AppModuleConfigBag ApplicationName="model.AppModule">
<AppModuleConfig name="AppModuleLocal" jbo.project="model.Model" ApplicationName="model.AppModule"
DeployPlatform="LOCAL">
<Database jbo.TypeMapEntries="OracleApps" JDBCDataSource="my-data-source"/>
<Security AppModuleJndiName="model.AppModule"/>
</AppModuleConfig>
<AppModuleConfig name="AppModuleShared" jbo.project="model.Model" ApplicationName="model.AppModule"
DeployPlatform="LOCAL">
<AM-Pooling jbo.ampool.maxpoolsize="1" jbo.ampool.isuseexclusive="false"/>
<Database jbo.TypeMapEntries="OracleApps" JDBCDataSource="my-data-source"/>
<Security AppModuleJndiName="model.AppModule"/>
</AppModuleConfig>
</AppModuleConfigBag>
</BC4JConfig>
Приведенный выше код выдает ошибку, поскольку источник данных 'my-data-source' не найден.
Если я использую источник данных, как показано ниже
<Database jbo.TypeMapEntries="OracleApps" JDBCDataSource="java:comp/env/my-data-source"/>
Я получаю ошибку как
java.lang.ClassCastException: weblogic.jndi.factories.java.ReadOnlyContextWrapper cannot be cast to javax.sql.DataSource
at oracle.jbo.server.DBTransactionImpl.lookupDataSource(DBTransactionImpl.java:1483)
at oracle.jbo.server.DBTransactionImpl2.connectToDataSource(DBTransactionImpl2.java:328)
at oracle.jbo.common.ampool.DefaultConnectionStrategy.connect(DefaultConnectionStrategy.java:203)
at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolConnect(ApplicationPoolMessageHandler.java:643)
at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolMessage(ApplicationPoolMessageHandler.java:434)
at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:9958)
Любая точкаКак решить эту проблему?Если каким-либо другим способом это можно сделать, пожалуйста, ведите меня к этому.
С уважением, Сид