I
ibrizida
Guest
I am trying to use Talend ESB to access a openedge database through a datasource, but the software is using the local connection configuration instead.
Our java is 1.8.0_275 so we must use the com.ddtek.jdbcx.openedge.OpenEdgeDataSource40 class. And the Talend ESB is the 7.3.1.
I made sure that in the tDBConnection object the "Specify a data source alias" was checked and the "Data source alias" was written in the text box.
tDBConnection object
Then I´ve built the job and uploaded it to the server, but instead of using the datasource (bellow) that is placed in the "deploy" folder of the container.
The software is using the local connection configuration that uses another port. So it doesn´t use the correct database (QA), but the development database.
To make sure it was NOT using the data source, I removed it from the "deploy" folder of the container and redeployed the job and it worked. But using the local configuration, ergo, the wrong database port.
So I don´t know if the datasource configuration is wrong or if for openedge the Talend ESB software has a bug that does not recognize the data source.
When I put the data source configuration file in the "deploy" folder the log looks fine (I´v tried to put the log as a code section, sorry).
2021-06-24T10:53:14,884 - INFO - fileinstall-/opt/talend_esb/Runtime_ESBSE/container2/deploy - install.internal.Util$OsgiLogger 205 - 10 - org.apache.felix.fileinstall - 3.6.4 - Installing bundle datasource-pgs_prv.xml / 0.0.0 2021-06-24T10:53:14,946 - INFO - fileinstall-/opt/talend_esb/Runtime_ESBSE/container2/deploy - container.BlueprintContainerImpl 446 - 34 - org.apache.aries.blueprint.core - 1.10.2 - Blueprint bundle datasource-pgs_prv.xml/0.0.0 has been started 2021-06-24T10:53:14,948 - INFO - fileinstall-/opt/talend_esb/Runtime_ESBSE/container2/deploy - install.internal.Util$OsgiLogger 205 - 10 - org.apache.felix.fileinstall - 3.6.4 - Started bundle: blueprint:file:/opt/talend_esb/Runtime_ESBSE/container2/deploy/datasource-pgs_prv.xml
I hope someone knows how to solve this problem.
Continue reading...
Our java is 1.8.0_275 so we must use the com.ddtek.jdbcx.openedge.OpenEdgeDataSource40 class. And the Talend ESB is the 7.3.1.
I made sure that in the tDBConnection object the "Specify a data source alias" was checked and the "Data source alias" was written in the text box.
tDBConnection object
Then I´ve built the job and uploaded it to the server, but instead of using the datasource (bellow) that is placed in the "deploy" folder of the container.
Code:
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0">
<cm:property-placeholder persistent-id="org.talend.esb.datasource.progress" update-strategy="reload">
<cm:default-properties>
<cm:property name="datasource.url" value="jdbc:datadirect:openedge://sun02cpd:5019;DatabaseName=prv;defaultSchema=pub;User=***;Password=***" />
<cm:property name="datasource.server" value="sun02cpd" />
<cm:property name="datasource.port" value="5019" />
<cm:property name="datasource.databaseName" value="prv" />
<cm:property name="datasource.defaultSchema" value="pub" />
<cm:property name="datasource.user" value="***" />
<cm:property name="datasource.password" value="***" />
<cm:property name="datasource.pool.maxActive" value="20" />
<cm:property name="datasource.pool.maxIdle" value="5" />
<cm:property name="datasource.pool.maxWait" value="-1" />
</cm:default-properties>
</cm:property-placeholder>
<bean id="progressDataSource" class="com.ddtek.jdbcx.openedge.OpenEdgeDataSource40">
<property name="serverName" value="${datasource.server}" />
<property name="portNumber" value="${datasource.port}" />
<property name="databaseName" value="${datasource.databaseName}" />
<property name="defaultSchema" value="${datasource.defaultSchema}" />
<property name="user" value="${datasource.user}" />
<property name="password" value="${datasource.password}" />
</bean>
<bean id="dataSource"
class="org.apache.commons.dbcp.datasources.SharedPoolDataSource" destroy-method="close">
<property name="connectionPoolDataSource" ref="progressDataSource" />
<property name="maxActive" value="${datasource.pool.maxActive}" />
<property name="maxIdle" value="${datasource.pool.maxIdle}" />
<property name="maxWait" value="${datasource.pool.maxWait}" />
</bean>
<service ref="dataSource" interface="javax.sql.DataSource">
<service-properties>
<entry key="org.talend.esb.datasource.name" value="ds-pgs_prv" />
<entry key="osgi.jndi.service.name" value="jdbc/pgs_prv" />
</service-properties>
</service>
The software is using the local connection configuration that uses another port. So it doesn´t use the correct database (QA), but the development database.
To make sure it was NOT using the data source, I removed it from the "deploy" folder of the container and redeployed the job and it worked. But using the local configuration, ergo, the wrong database port.
So I don´t know if the datasource configuration is wrong or if for openedge the Talend ESB software has a bug that does not recognize the data source.
When I put the data source configuration file in the "deploy" folder the log looks fine (I´v tried to put the log as a code section, sorry).
2021-06-24T10:53:14,884 - INFO - fileinstall-/opt/talend_esb/Runtime_ESBSE/container2/deploy - install.internal.Util$OsgiLogger 205 - 10 - org.apache.felix.fileinstall - 3.6.4 - Installing bundle datasource-pgs_prv.xml / 0.0.0 2021-06-24T10:53:14,946 - INFO - fileinstall-/opt/talend_esb/Runtime_ESBSE/container2/deploy - container.BlueprintContainerImpl 446 - 34 - org.apache.aries.blueprint.core - 1.10.2 - Blueprint bundle datasource-pgs_prv.xml/0.0.0 has been started 2021-06-24T10:53:14,948 - INFO - fileinstall-/opt/talend_esb/Runtime_ESBSE/container2/deploy - install.internal.Util$OsgiLogger 205 - 10 - org.apache.felix.fileinstall - 3.6.4 - Started bundle: blueprint:file:/opt/talend_esb/Runtime_ESBSE/container2/deploy/datasource-pgs_prv.xml
I hope someone knows how to solve this problem.
Continue reading...