KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mule > ra > DefaultConnectionManager


1 /*
2  * $Id: DefaultConnectionManager.java 3798 2006-11-04 04:07:14Z aperepel $
3  * --------------------------------------------------------------------------------------
4  * Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com
5  *
6  * The software in this package is published under the terms of the MuleSource MPL
7  * license, a copy of which has been included with this distribution in the
8  * LICENSE.txt file.
9  */

10
11 package org.mule.ra;
12
13 import java.io.IOException JavaDoc;
14 import java.io.ObjectInputStream JavaDoc;
15
16 import javax.resource.ResourceException JavaDoc;
17 import javax.resource.spi.ConnectionEvent JavaDoc;
18 import javax.resource.spi.ConnectionEventListener JavaDoc;
19 import javax.resource.spi.ConnectionManager JavaDoc;
20 import javax.resource.spi.ConnectionRequestInfo JavaDoc;
21 import javax.resource.spi.ManagedConnection JavaDoc;
22 import javax.resource.spi.ManagedConnectionFactory JavaDoc;
23 import javax.security.auth.Subject JavaDoc;
24
25 import org.apache.commons.logging.Log;
26 import org.apache.commons.logging.LogFactory;
27
28 /**
29  * <code>DefaultConnectionManager</code> TODO
30  */

31 public class DefaultConnectionManager implements ConnectionManager JavaDoc, ConnectionEventListener JavaDoc
32 {
33     /**
34      * Serial version
35      */

36     private static final long serialVersionUID = 1967602190602154760L;
37
38     private transient Log logger = LogFactory.getLog(this.getClass());
39
40     public DefaultConnectionManager()
41     {
42         super();
43     }
44
45     private void readObject(ObjectInputStream JavaDoc ois) throws ClassNotFoundException JavaDoc, IOException JavaDoc
46     {
47         ois.defaultReadObject();
48         this.logger = LogFactory.getLog(this.getClass());
49     }
50
51     /**
52      * @see javax.resource.spi.ConnectionManager#allocateConnection(javax.resource.spi.ManagedConnectionFactory,
53      * javax.resource.spi.ConnectionRequestInfo)
54      */

55     public Object JavaDoc allocateConnection(ManagedConnectionFactory JavaDoc connectionFactory, ConnectionRequestInfo JavaDoc info)
56         throws ResourceException JavaDoc
57     {
58         Subject JavaDoc subject = null;
59         ManagedConnection JavaDoc connection = connectionFactory.createManagedConnection(subject, info);
60         connection.addConnectionEventListener(this);
61         return connection.getConnection(subject, info);
62     }
63
64     /**
65      * @see javax.resource.spi.ConnectionEventListener#connectionClosed(javax.resource.spi.ConnectionEvent)
66      */

67     public void connectionClosed(ConnectionEvent JavaDoc event)
68     {
69         try
70         {
71             ((ManagedConnection JavaDoc)event.getSource()).cleanup();
72         }
73         catch (ResourceException JavaDoc e)
74         {
75             logger.warn("Error occured during the cleanup of a managed connection: ", e);
76         }
77         try
78         {
79             ((ManagedConnection JavaDoc)event.getSource()).destroy();
80         }
81         catch (ResourceException JavaDoc e)
82         {
83             logger.warn("Error occured during the destruction of a managed connection: ", e);
84         }
85     }
86
87     /**
88      * @see javax.resource.spi.ConnectionEventListener#localTransactionStarted(javax.resource.spi.ConnectionEvent)
89      */

90     public void localTransactionStarted(ConnectionEvent JavaDoc event)
91     {
92         // TODO maybe later?
93
}
94
95     /**
96      * @see javax.resource.spi.ConnectionEventListener#localTransactionCommitted(javax.resource.spi.ConnectionEvent)
97      */

98     public void localTransactionCommitted(ConnectionEvent JavaDoc event)
99     {
100         // TODO maybe later?
101
}
102
103     /**
104      * @see javax.resource.spi.ConnectionEventListener#localTransactionRolledback(javax.resource.spi.ConnectionEvent)
105      */

106     public void localTransactionRolledback(ConnectionEvent JavaDoc event)
107     {
108         // TODO maybe later?
109
}
110
111     /**
112      * @see javax.resource.spi.ConnectionEventListener#connectionErrorOccurred(javax.resource.spi.ConnectionEvent)
113      */

114     public void connectionErrorOccurred(ConnectionEvent JavaDoc event)
115     {
116         logger.warn("Managed connection experiened an error: ", event.getException());
117         try
118         {
119             ((ManagedConnection JavaDoc)event.getSource()).cleanup();
120         }
121         catch (ResourceException JavaDoc e)
122         {
123             logger.warn("Error occured during the cleanup of a managed connection: ", e);
124         }
125         try
126         {
127             ((ManagedConnection JavaDoc)event.getSource()).destroy();
128         }
129         catch (ResourceException JavaDoc e)
130         {
131             logger.warn("Error occured during the destruction of a managed connection: ", e);
132         }
133     }
134
135 }
136
Popular Tags