ecology调用SAPRFC接口第二种写法 (生成配置文件)

package com.kaka.workflow.utils;
import com.sap.conn.jco.*;
import com.sap.conn.jco.ext.DestinationDataProvider;

import java.io.File;
import java.io.FileOutputStream;
import java.util.Properties;

/**
 * @Auther: kaka
 * @Date: 2023/08/13/11:13
 * @Description:
 */
public class ConnSAP  {
    static String ABAP_AS_POOLED = "ABAP_AS_WITH_POOL";
    static {
        Properties connectProperties = new Properties();
        connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, "");//IP
        connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR, ""); //编号
        connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT, "");//客户端
        connectProperties.setProperty(DestinationDataProvider.JCO_USER, ""); //账号
        connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, ""); //密码
        connectProperties.setProperty(DestinationDataProvider.JCO_LANG, "zh"); //语言
        connectProperties.setProperty(DestinationDataProvider.JCO_POOL_CAPACITY, ""); //连接数
        connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT, ""); //分页
        createDataFile(ABAP_AS_POOLED, "jcoDestination", connectProperties);
    }

    static void createDataFile(String name, String suffix, Properties properties) {
        File cfg = new File(name + "." + suffix);
        if (!cfg.exists()) {
            try {
                FileOutputStream fos = new FileOutputStream(cfg, false);
                properties.store(fos, "SAP连接配置文件");
                fos.close();
            } catch (Exception e) {
                throw new RuntimeException(
                        "Unable to create the destination file " + cfg.getName(), e);
            }
        }
    }

    public static JCoDestination Connect() {
        JCoDestination destination = null;
        try {
            destination = JCoDestinationManager.getDestination(ABAP_AS_POOLED);
       } catch (Exception e) {
            e.getCause();
        }
        return destination;
    }

    /***
    * @MethodName: main
    * @Description:  测试是否连接成功
    * @Param: [args]
    * @return: void
    * @Author: kaka
    * @Date: 2023/9/18 10:40
    */
    public static void main(String[] args) {
        JCoDestination connect = ConnSAP.Connect();
        //打印输出
        System.out.println(connect);
    }
}

运行结果还是成功的,缺点就是通过不方便移植,程序通过静态代码块生成,程序一启动就加载进内存,如果配置文件删除就会链接失败报错,可移植性差,不方便找到BUG。文章来源地址https://uudwc.com/A/ZGLYm

原文地址:https://blog.csdn.net/javakaka666/article/details/133074329

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年09月23日 18:18
IDEA中取消双击shift全局搜索
下一篇 2023年09月23日 18:19