[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".

Reply via email to