[jboss-user] [JBoss Seam] - test configuring joss embedded
laksu
do-not-reply at jboss.com
Wed Dec 12 05:17:46 EST 2007
Hi,
I am trying to convert a seam-gen generated project to use hibernate instead of jpa. I am almost done except getting testing work. In the reference documentation it is stated that "jboss-beans.xml" file is generated by seam-gen, but I cannot seem to find it. And creating one like the following does not help configuring the data source:
<deployment xmlns="urn:jboss:bean-deployer:2.0">
| <bean name="TransactionManagerFactory" class="org.jboss.seam.microcontainer.TransactionManagerFactory"/>
| <bean name="TransactionManager" class="java.lang.Object">
| <constructor factoryMethod="getTransactionManager">
| <factory bean="TransactionManagerFactory"/>
| </constructor>
| </bean>
| <bean name="payrollDatasourceFactory" class="org.jboss.seam.microcontainer.DataSourceFactory">
| <property name="driverClass">org.postgresql.ds.PGSimpleDataSource</property>
| <property name="connectionUrl">jdbc:postgresql://192.168.10.79:5432/payroll_levent</property>
| <property name="userName">postgres</property>
| <property name="password">postgres</property>
| <property name="jndiName">java:/payroll</property>
| <property name="minSize">0</property>
| <property name="maxSize">10</property>
| <property name="blockingTimeout">1000</property>
| <property name="idleTimeout">100000</property>
| <property name="transactionManager">
| <inject bean="TransactionManager"/>
| </property>
| </bean>
| <bean name="payrollDatasource" class="java.lang.Object">
| <constructor factoryMethod="getDataSource">
| <factory bean="payrollDatasourceFactory"/>
| </constructor>
| </bean>
| </deployment>
Either I have the file above or not I get the following:
[testng] FAILED CONFIGURATION: @BeforeClass init
| [testng] org.hibernate.HibernateException: Could not find datasource
| [testng] at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:56)
| [testng] at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)
| [testng] at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56)
| [testng] at org.hibernate.cfg.SettingsFactory.createConnectionProvider(SettingsFactory.java:397)
| [testng] at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:62)
| [testng] at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2006)
| [testng] at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1289)
| [testng] at org.jboss.seam.persistence.HibernateSessionFactory.createSessionFactory(HibernateSessionFactory.java:165)
| [testng] at org.jboss.seam.persistence.HibernateSessionFactory.startup(HibernateSessionFactory.java:79)
| [testng] at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
| [testng] at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:125)
| [testng] at org.jboss.seam.Component.callComponentMethod(Component.java:2074)
| [testng] at org.jboss.seam.Component.callCreateMethod(Component.java:1997)
| [testng] at org.jboss.seam.Component.newInstance(Component.java:1968)
| [testng] at org.jboss.seam.contexts.Contexts.startup(Contexts.java:304)
| [testng] at org.jboss.seam.contexts.Contexts.startup(Contexts.java:278)
| [testng] at org.jboss.seam.contexts.ServletLifecycle.endInitialization(ServletLifecycle.java:95)
| [testng] at org.jboss.seam.init.Initialization.init(Initialization.java:555)
| [testng] at org.jboss.seam.mock.BaseSeamTest.init(BaseSeamTest.java:939)
| [testng] at org.jboss.seam.mock.SeamTest.init(SeamTest.java:42)
| [testng] Caused by: javax.naming.NameNotFoundException: payrollDatasource not bound
| [testng] at org.jnp.server.NamingServer.getBinding(NamingServer.java:542)
| [testng] at org.jnp.server.NamingServer.getBinding(NamingServer.java:550)
| [testng] at org.jnp.server.NamingServer.getObject(NamingServer.java:556)
| [testng] at org.jnp.server.NamingServer.lookup(NamingServer.java:296)
| [testng] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:628)
| [testng] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:590)
| [testng] at javax.naming.InitialContext.lookup(InitialContext.java:351)
| [testng] at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52)
| [testng] ... 45 more
| [testng] ... Removed 26 stack frames
|
Here is my components.xml:
<core:init debug="@debug@" jndi-pattern="@jndiPattern@" />
|
| <core:manager concurrent-request-timeout="500"
| conversation-timeout="120000"
| conversation-id-parameter="cid"/>
|
| <persistence:hibernate-session-factory name="hibernateSessionFactory"/>
| <persistence:managed-hibernate-session name="hibernateSession"
| auto-create="true"
| session-factory-jndi-name="java:/payrollSessionFactory"/>
|
| <persistence:hibernate-transaction session="#{hibernateSession}"/>
|
|
and payroll-test-ds || payroll-dev-ds.xml
<?xml version="1.0" encoding="UTF-8"?>
|
| <!DOCTYPE datasources
| PUBLIC "-//JBoss//DTD JBOSS JCA Config 1.5//EN"
| "http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd">
|
| <datasources>
| <local-tx-datasource>
| <jndi-name>payrollDatasource</jndi-name>
| <connection-url>jdbc:postgresql://192.168.10.79:5432/payroll_levent</connection-url>
| <driver-class>org.postgresql.Driver</driver-class>
| <user-name>postgres</user-name>
| <password>postgres</password>
| <metadata>
| <type-mapping>PostgreSQL 8.0</type-mapping>
| </metadata>
| <new-connection-sql>select 1</new-connection-sql>
| <check-valid-connection-sql>select 1</check-valid-connection-sql>
|
| </local-tx-datasource>
| </datasources>
|
How do I configure the embedded container?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4112206#4112206
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4112206
More information about the jboss-user
mailing list