01: /*
02: * JBoss, Home of Professional Open Source.
03: * Copyright 2006, Red Hat Middleware LLC, and individual contributors
04: * as indicated by the @author tags. See the copyright.txt file in the
05: * distribution for a full listing of individual contributors.
06: *
07: * This is free software; you can redistribute it and/or modify it
08: * under the terms of the GNU Lesser General Public License as
09: * published by the Free Software Foundation; either version 2.1 of
10: * the License, or (at your option) any later version.
11: *
12: * This software is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15: * Lesser General Public License for more details.
16: *
17: * You should have received a copy of the GNU Lesser General Public
18: * License along with this software; if not, write to the Free
19: * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20: * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21: */
22: package org.jboss.test.jca.ejb;
23:
24: import java.rmi.MarshalledObject;
25: import java.rmi.RemoteException;
26: import java.sql.Connection;
27: import javax.ejb.EJBException;
28: import javax.ejb.SessionBean;
29: import javax.ejb.SessionContext;
30: import javax.naming.InitialContext;
31: import javax.sql.DataSource;
32:
33: import org.jboss.logging.Logger;
34:
35: /**
36: * ConnectionFactorySerializationTestSessionBean.java
37: *
38: * @author <a href="mailto:d_jencks@users.sourceforge.net">David Jencks</a>
39: * @version $Revision: 57211 $
40: *
41: * @ejb:bean name="ConnectionFactorySerializationTestSession"
42: * jndi-name="ConnectionFactorySerializationTestSession"
43: * view-type="remote"
44: * type="Stateless"
45: */
46: public class ConnectionFactorySerializationTestSessionBean implements
47: SessionBean {
48: /** The serialVersionUID */
49: private static final long serialVersionUID = 1L;
50: private final Logger log = Logger.getLogger(getClass());
51:
52: /**
53: * Describe <code>testConnectionFactorySerialization</code> method here.
54: *
55: * @exception EJBException if an error occurs
56: * @ejb:interface-method
57: */
58: public void testConnectionFactorySerialization() {
59: try {
60: DataSource ds = (DataSource) new InitialContext()
61: .lookup("java:/DefaultDS");
62: Connection c = ds.getConnection();
63: c.close();
64: MarshalledObject mo = new MarshalledObject(ds);
65: ds = (DataSource) mo.get();
66: c = ds.getConnection();
67: c.close();
68: } catch (Exception e) {
69: log.info("Exception: ", e);
70: throw new EJBException("Exception: " + e);
71: } // end of try-catch
72: }
73:
74: public void ejbCreate() {
75: }
76:
77: public void ejbActivate() throws RemoteException {
78: }
79:
80: public void ejbPassivate() throws RemoteException {
81: }
82:
83: public void ejbRemove() throws RemoteException {
84: }
85:
86: public void setSessionContext(SessionContext ctx)
87: throws RemoteException {
88: }
89:
90: public void unsetSessionContext() throws RemoteException {
91: }
92:
93: }
|