⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fsmanagedconnection.java

📁 jboss 的官方实例程序
💻 JAVA
字号:
package org.jboss.book.jca.ex1.ra;import java.util.ArrayList;import javax.resource.ResourceException;import javax.resource.spi.LocalTransaction;import javax.resource.spi.ManagedConnectionMetaData;import javax.resource.spi.ConnectionRequestInfo;import javax.resource.spi.ManagedConnection;import javax.resource.spi.ConnectionEvent;import javax.resource.spi.ConnectionEventListener;import javax.security.auth.Subject;import javax.transaction.xa.XAResource;import java.io.PrintWriter;import org.apache.log4j.Category;/** * * @author  Scott.Stark@jboss.org * @version $Revision: 1.1 $ */public class FSManagedConnection implements ManagedConnection{   static Category log = Category.getInstance(FSManagedConnection.class);   ArrayList listeners = new ArrayList();   FSDirContext conn;   /** Creates new FSManagedConnection */   public FSManagedConnection(Subject subject,      FSRequestInfo fsInfo)   {      log.debug("ctor, fsInfo="+fsInfo);   }   public void addConnectionEventListener(ConnectionEventListener connectionEventListener)   {      log.debug("addConnectionEventListener, listener="+connectionEventListener,         new Exception("CalledBy:"));      listeners.add(connectionEventListener);   }   public void removeConnectionEventListener(ConnectionEventListener connectionEventListener)   {      log.debug("removeConnectionEventListener, listener="+connectionEventListener,         new Exception("CalledBy:"));      listeners.remove(connectionEventListener);   }   public void associateConnection(Object obj) throws ResourceException   {      log.debug("associateConnection, obj="+obj, new Exception("CalledBy:"));      conn = (FSDirContext) obj;      conn.setManagedConnection(this);   }   public void cleanup() throws ResourceException   {      log.debug("cleanup");   }      public void destroy() throws ResourceException   {      log.debug("destroy");   }      public Object getConnection(Subject subject, ConnectionRequestInfo info)      throws ResourceException   {      log.debug("getConnection, subject="+subject+", info="+info,         new Exception("CalledBy:"));      if( conn == null )         conn = new FSDirContext(this);      return conn;   }   public LocalTransaction getLocalTransaction() throws ResourceException   {      log.debug("getLocalTransaction");      return null;   }      public ManagedConnectionMetaData getMetaData() throws ResourceException   {      log.debug("getMetaData");      return new FSManagedConnectionMetaData();   }      public XAResource getXAResource() throws ResourceException   {      log.debug("getXAResource");      return null;   }   public PrintWriter getLogWriter() throws ResourceException   {      return null;   }   public void setLogWriter(PrintWriter out) throws ResourceException   {   }   protected void close()   {      ConnectionEvent ce = new ConnectionEvent(this, ConnectionEvent.CONNECTION_CLOSED);      ce.setConnectionHandle(conn);      fireConnectionEvent(ce);   }   protected void fireConnectionEvent(ConnectionEvent evt)   {      for(int i=listeners.size()-1; i >= 0; i--)      {         ConnectionEventListener listener = (ConnectionEventListener) listeners.get(i);         if(evt.getId() == ConnectionEvent.CONNECTION_CLOSED)            listener.connectionClosed(evt);         else if(evt.getId() == ConnectionEvent.CONNECTION_ERROR_OCCURRED)            listener.connectionErrorOccurred(evt);      }   }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -