📄 coffeeejb.java
字号:
/* * * Copyright 2000 Sun Microsystems, Inc. All Rights Reserved. * * This software is the proprietary information of Sun Microsystems, Inc. * Use is subject to license terms. * */import java.math.BigDecimal;import java.util.*;import javax.ejb.*;import javax.resource.cci.*;import javax.resource.ResourceException;import javax.naming.*;import com.sun.connector.cciblackbox.*;public class CoffeeEJB implements SessionBean { private SessionContext sc; private String user; private String password; private ConnectionFactory cf; public void ejbCreate() throws CreateException { } public void setSessionContext(SessionContext sc) { try { this.sc = sc; Context ic = new InitialContext(); user = (String) ic.lookup("java:comp/env/user"); password = (String) ic.lookup("java:comp/env/password"); cf = (ConnectionFactory) ic.lookup("java:comp/env/CCIEIS"); } catch (NamingException ex) { ex.printStackTrace(); } } public int getCoffeeCount() { int count = -1; try { Connection con = getCCIConnection(); Interaction ix = con.createInteraction(); CciInteractionSpec iSpec = new CciInteractionSpec(); iSpec.setSchema(user); iSpec.setCatalog(null); iSpec.setFunctionName("COUNTCOFFEE"); RecordFactory rf = cf.getRecordFactory(); IndexedRecord iRec = rf.createIndexedRecord("InputRecord"); Record oRec = ix.execute(iSpec, iRec); Iterator iterator = ((IndexedRecord)oRec).iterator(); while(iterator.hasNext()) { Object obj = iterator.next(); if(obj instanceof Integer) { count = ((Integer)obj).intValue(); } else if(obj instanceof BigDecimal) { count = ((BigDecimal)obj).intValue(); } } closeCCIConnection(con); }catch(ResourceException ex) { ex.printStackTrace(); } return count; } public void insertCoffee(String name, int qty) { try { Connection con = getCCIConnection(); Interaction ix = con.createInteraction(); CciInteractionSpec iSpec = new CciInteractionSpec(); iSpec.setFunctionName("INSERTCOFFEE"); iSpec.setSchema(user); iSpec.setCatalog(null); RecordFactory rf = cf.getRecordFactory(); IndexedRecord iRec = rf.createIndexedRecord("InputRecord"); boolean flag = iRec.add(name); flag = iRec.add(new Integer(qty)); ix.execute(iSpec, iRec); closeCCIConnection(con); }catch(ResourceException ex) { ex.printStackTrace(); } } private Connection getCCIConnection() { Connection con = null; try { ConnectionSpec spec = new CciConnectionSpec(user, password); con = cf.getConnection(spec); } catch (ResourceException ex) { ex.printStackTrace(); } return con; } private void closeCCIConnection(Connection con) { try { con.close(); } catch (ResourceException ex) { ex.printStackTrace(); } } public void ejbRemove() {} public void ejbActivate() {} public void ejbPassivate() {}}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -