[EMAIL PROTECTED] wrote:
>
> I am using JOnAS 2.2.6 and wrote a SLSB that has only on method. This method does
>this:
>
> try {
> Context context = new InitialContext();
> DataSource dataSource = (DataSource)
>context.lookup("java:comp/env/jdbc/EmployeeAppDB");
> Connection con = dataSource.getConnection();
> CallableStatement stat = con.prepareCall("{?=call test(?,?,?,?)}");
> stat.registerOutParameter(1,java.sql.Types.INTEGER);
> stat.registerOutParameter(4,java.sql.Types.INTEGER);
> stat.registerOutParameter(5,java.sql.Types.VARCHAR);
> stat.setString(2, "This is a test.");
> stat.setTimestamp(3, new Timestamp((new Date().getTime())));
> stat.execute();
> int rR = stat.getInt(1);
> int r1 = stat.getInt(4);
> String r2 = stat.getString(5);
> System.out.println("Result: " + rR + " - " + r1 + " - " + " - " + r2);
You should write "con.close()" here.
> }
> catch (Exception e) {
> e.printStackTrace();
> }
>
> and I wrote a test program that does this:
>
> System.setProperty("java.naming.factory.initial",
>"com.sun.jndi.rmi.registry.RegistryContextFactory");
> System.setProperty("java.naming.provider.url", "rmi://localhost:1099");
> System.setProperty("java.naming.factory.url.pkgs", "org.objectweb.jonas.naming");
> try {
> Context initialContext = new InitialContext();
> UserTransaction utx = (UserTransaction)
>
>PortableRemoteObject.narrow(initialContext.lookup("javax.transaction.UserTransaction"),
> UserTransaction.class);
> TestHome home = (TestHome)
>PortableRemoteObject.narrow(initialContext.lookup("TestHome"), TestHome.class);
> utx.begin();
> Test t1 = home.create();
> t1.test();
> t1.remove();
> utx.commit();
> }
> catch (Exception e) {
> e.printStackTrace();
> }
>
> and when I try to start the testprogram, all runs fine but then I get this error
>message:
>
> > XAResource ---> commit: XA START without XA END
> > WARNING: Connection not closed by caller
> > Force a physical close to avoid reusing it in another transaction
This message seems explicit enough: You don't close your connection.
>
> I have this DD:
>
> <!DOCTYPE ejb-jar SYSTEM "C:\JOnAS/xml/ejb-jar_1_1.dtd">
> <ejb-jar>
> <description></description>
> <enterprise-beans>
> <session>
> <ejb-name>Test</ejb-name>
> <home>test.TestHome</home>
> <remote>test.Test</remote>
> <ejb-class>test.TestBean</ejb-class>
> <session-type>Stateless</session-type>
> <transaction-type>Container</transaction-type>
> <resource-ref>
> <res-ref-name>jdbc/EmployeeAppDB</res-ref-name>
> <res-type>javax.sql.DataSource</res-type>
> <res-auth>Container</res-auth>
> </resource-ref>
> </session>
> </enterprise-beans>
> <assembly-descriptor>
> <container-transaction>
> <method>
> <ejb-name>Test</ejb-name>
> <method-name>*</method-name>
> </method>
> <trans-attribute>Required</trans-attribute>
> </container-transaction>
> </assembly-descriptor>
> </ejb-jar>
>
> and this JOnAS-specific DD:
>
> <!DOCTYPE jonas-ejb-jar SYSTEM "C:\JOnAS/xml/jonas-ejb-jar.dtd">
> <jonas-ejb-jar>
> <jonas-session>
> <ejb-name>Test</ejb-name>
> <jndi-name>TestHome</jndi-name>
> <jonas-resource>
> <res-ref-name>jdbc/EmployeeAppDB</res-ref-name>
> <jndi-name>jdbc_1</jndi-name>
> </jonas-resource>
> </jonas-session>
> </jonas-ejb-jar>
>
> Does anybody have an Idea what the problem is?
--
Philippe Durieux ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Bull - 1 rue de Provence - 38432 Echirolles Cedex France
[EMAIL PROTECTED]
-> Download our EJBServer at http://www.evidian.com/ejb <-
----
To unsubscribe, send email to [EMAIL PROTECTED] and
include in the body of the message "unsubscribe jonas-users".
For general help, send email to [EMAIL PROTECTED] and
include in the body of the message "help".