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

📄 odemanagedconnectionfactory.java

📁 bpel执行引擎用来执行bpel业务流程
💻 JAVA
字号:
/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements.  See the NOTICE file * distributed with this work for additional information * regarding copyright ownership.  The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License.  You may obtain a copy of the License at * *    http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied.  See the License for the * specific language governing permissions and limitations * under the License. */package org.apache.ode.ra;import org.apache.ode.ra.transports.OdeTransport;import org.apache.ode.ra.transports.rmi.RMITransport;import java.io.PrintWriter;import java.rmi.RemoteException;import java.util.Set;import javax.resource.ResourceException;import javax.resource.spi.ConnectionManager;import javax.resource.spi.ConnectionRequestInfo;import javax.resource.spi.ManagedConnection;import javax.resource.spi.ManagedConnectionFactory;import javax.security.auth.Subject;/** * JCA {@link ManagedConnectionFactory} implementation. */public class OdeManagedConnectionFactory implements ManagedConnectionFactory {  private static final long serialVersionUID = 1L;  private PrintWriter _logWriter;  /** Default connection request information. */  private OdeConnectionRequestInfo _defaultCRI = new OdeConnectionRequestInfo(null,"");  public OdeManagedConnectionFactory() {    try {      setTransport(RMITransport.class.getName());    } catch (ResourceException re) {      //ignore (perhaps we should log)    }  }  public void setTransport(String transportClassName) throws ResourceException {    try {      Class tclass = Class.forName(transportClassName);      _defaultCRI.transport = (OdeTransport) tclass.newInstance();    } catch (IllegalAccessException e) {      ResourceException re = new ResourceException("Class-access error for transport class \"" + transportClassName + "\". ", e);      throw re;    } catch (InstantiationException e) {      ResourceException re = new ResourceException("Error instantiating transport class \"" + transportClassName + "\". ", e );      throw re;    } catch (ClassNotFoundException e) {      ResourceException re = new ResourceException("Transport class \"" + transportClassName + "\" not found in class path. ", e);      throw re;    }  }  public void setURL(String url) throws ResourceException {    _defaultCRI.url = url;  }  public void setProperty(String key, String val) throws ResourceException {    if (key.equals("URL"))      setURL(val);    else if (key.equals("Transport"))      setTransport(val);    else      _defaultCRI.properties.setProperty(key,val);  }  public Object createConnectionFactory() throws ResourceException {    return new OdeConnectionFactoryImpl(this, new OdeConnectionManager());  }  public Object createConnectionFactory(ConnectionManager connectionManager) throws ResourceException {    return new OdeConnectionFactoryImpl(this, connectionManager);  }  public ManagedConnection createManagedConnection(Subject subject, ConnectionRequestInfo connectionRequestInfo) throws ResourceException {    OdeConnectionRequestInfo cri = (OdeConnectionRequestInfo) (connectionRequestInfo != null ? connectionRequestInfo : _defaultCRI);    if (cri.transport == null)      throw new ResourceException("No transport.");    try {      return new OdeManagedConnectionImpl(cri.transport.createPipe(cri.url, cri.properties), subject, connectionRequestInfo);    } catch (RemoteException ex) {      ResourceException re = new ResourceException("Unable to create connection: " + ex.getMessage(), ex);      throw re;    }  }  public ManagedConnection matchManagedConnections(Set candidates, Subject subject, ConnectionRequestInfo connectionRequestInfo)          throws ResourceException  {    return null;  //To change body of implemented methods use File | Settings | File Templates.  }  public PrintWriter getLogWriter() throws ResourceException {    return _logWriter;  }  public void setLogWriter(PrintWriter printWriter) throws ResourceException {    _logWriter = printWriter;  }}

⌨️ 快捷键说明

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