getconnectionproperty.java
来自「公司自己开发的工作流引擎」· Java 代码 · 共 93 行
JAVA
93 行
package cn.com.iaspec.workflow.db;
import javax.xml.parsers.*;
import org.apache.log4j.*;
import org.w3c.dom.*;
public class GetConnectionProperty{
private static Logger logger=Logger.getLogger(GetConnectionProperty.class);
public GetConnectionProperty(){
}
public static ConnectProperties getBusinessDBProperty(){
logger.debug("begin getBusinessDBProperty...");
return getDBProperty("BUSINESS_CONNECTION");
}
public static ConnectProperties getWorkflowDBProperty(){
logger.debug("begin getWorkflowDBProperty...");
return getDBProperty("WORKFLOW_CONNECTION");
}
private static ConnectProperties getDBProperty(String connectType){
logger.debug("begin getDBProperty...");
System.out.println("user.dir is:"+System.getProperty("user.dir"));
ConnectProperties prop=null;
String path=System.getProperty("user.dir")+
System.getProperty("file.separator")+"workflow_db_connection.xml";
Element root=loadDocument(path);
if(root==null){
logger.info("找不到数据库连接配置文件"+path+",系统将使用默配置信息来获取数据库连接。");
return null;
}
NodeList list=root.getElementsByTagName(connectType);
for(int loop=0;loop<list.getLength();loop++){
Node node=list.item(loop);
if(node!=null){
prop=new ConnectProperties();
prop.setDbDriver(getSubTagValue(node,"DB_DRIVER"));
prop.setDbPassword(getSubTagValue(node,"DB_PASSWORD"));
prop.setDbUrl(getSubTagValue(node,"DB_URL"));
prop.setDbUser(getSubTagValue(node,"DB_USER"));
prop.setMaxConnect(getSubTagValue(node,"MAX_CONNECTION"));
prop.setUseJNDI(getSubTagValue(node,"USE_JNDI"));
prop.setJNDIName(getSubTagValue(node,"JNDI_NAME"));
prop.setDataBaseType(getSubTagValue(node,"DATABASE_TYPE"));
}
}
logger.debug("prop is:\n"+prop);
return prop;
}
public static String getSubTagValue(Node node,String subTagName){
String returnString="";
if(node!=null){
NodeList children=node.getChildNodes();
for(int innerLoop=0;innerLoop<children.getLength();innerLoop++){
Node child=children.item(innerLoop);
if((child!=null)&&(child.getNodeName()!=null)&&
child.getNodeName().equals(subTagName)){
Node grandChild=child.getFirstChild();
if(grandChild.getNodeValue()!=null){
return grandChild.getNodeValue();
}
}
}
}
return returnString;
}
public static Element loadDocument(String location){
Document doc=null;
Element root=null;
try{
DocumentBuilderFactory docBuilderFactory=DocumentBuilderFactory.
newInstance();
DocumentBuilder parser=docBuilderFactory.newDocumentBuilder();
doc=parser.parse(location);
root=doc.getDocumentElement();
root.normalize();
}
catch(Exception ex){
logger.info(ex.toString());
//ex.printStackTrace();
}
return root;
}
public static void main(String[] args){
ConnectProperties pro=GetConnectionProperty.getBusinessDBProperty();
System.out.println(pro);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?