Не удается запустить отчет сервера JasperReports, используя Teiid в качестве источника данных
Я успешно запросил источник данных Teiid 9 с помощью Jaspersoft Studio, но при развертывании в JasperReports Server 6.2 отчет выдает такие исключения:
Caused by: org.teiid.core.TeiidRuntimeException: Remote javax.resource.ResourceException: IJ000461: Could not enlist in transaction on entering meta-aware object
at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.managedConnectionReconnected(TxConnectionManagerImpl.java:561)
at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.reconnectManagedConnection(AbstractConnectionManager.java:922)
... 52 more
Caused by: org.teiid.core.TeiidRuntimeException: Remote javax.transaction.SystemException: IJ000356: Failed to enlist: java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple < ac, BasicAction: 0:ffff0a0064a4:-2b7b5a65:57a45632:4d7a status: ActionStatus.ABORT_ONLY >
at org.jboss.jca.core.connectionmanager.listener.TxConnectionListener$TransactionSynchronization.checkEnlisted(TxConnectionListener.java:970)
at org.jboss.jca.core.connectionmanager.listener.TxConnectionListener.enlist(TxConnectionListener.java:412)
at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.managedConnectionReconnected(TxConnectionManagerImpl.java:554)
... 53 more
1 ответ
Решение
Мне удалось решить мою проблему, используя источник данных JNDI вместо JDBC.
В основном я следовал этому руководству: http://community.jaspersoft.com/wiki/how-add-new-jndi-connection-tomcat
Часть web.xml
<resource-ref>
<description>Teiid JasperServer repository</description>
<res-ref-name>jdbc/teiid</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
Часть context.xml
<Resource name="jdbc/teiid"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="user"
password="user"
driverClassName="org.teiid.jdbc.TeiidDriver"
validationQuery="select 1"
testOnBorrow="true"
url="jdbc:teiid:Portfolio@mm://localhost:31000" />