diff --git a/src/main/java/kd/cosmic/Application.java b/src/main/java/kd/cosmic/Application.java new file mode 100644 index 00000000..8160dbf2 --- /dev/null +++ b/src/main/java/kd/cosmic/Application.java @@ -0,0 +1,40 @@ +package kd.cosmic; + +import kd.bos.orm.query.QFilter; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.cosmic.server.Launcher; + +/** + * 启动本地应用程序(微服务节点) + */ +public class Application { + public static void main(String[] args) { + Launcher cosmic = new Launcher(); + +// cosmic.setClusterNumber("cosmic"); +// cosmic.setTenantNumber("sample"); +// cosmic.setServerIP("10.64.112.152"); + + cosmic.setAppName("cosmic-violet-GNfGyyH1"); + cosmic.setWebPath("E:/Code/ensign_back/ensign-server/webapp"); + + //152 + cosmic.setClusterNumber("yxzg-topview-dev"); + cosmic.setTenantNumber("yxzg-topview-dev"); + cosmic.setServerIP("10.64.112.152"); + cosmic.setFileServerPathIPAndPort("",""); + cosmic.setConfigUrl("10.64.112.152:2181","zookeeper","Cosmic@5092"); + cosmic.set("login.type","STANDALONE"); + +// 134 +// cosmic.setClusterNumber("yxzg-prod"); +// cosmic.setTenantNumber("yxzg-prod"); +// cosmic.setServerIP("10.64.111.134"); +// cosmic.setConfigUrl("10.64.111.134:2181","zookeeper","d@f*g:SGVsbG8==U4HRwjlqTOp0p9b60T+T8D2fQ8ThQgJLu/qgfLyLgknPa2RwYXNzd29yZA=="); + + + cosmic.setStartWithQing(false); + cosmic.start(); + } + +} \ No newline at end of file diff --git a/src/main/java/kd/cosmic/server/Launcher.java b/src/main/java/kd/cosmic/server/Launcher.java new file mode 100644 index 00000000..28d612bf --- /dev/null +++ b/src/main/java/kd/cosmic/server/Launcher.java @@ -0,0 +1,190 @@ +package kd.cosmic.server; + +import kd.bos.config.client.util.ConfigUtils; +import kd.bos.service.webserver.JettyServer; +import kd.sdk.annotation.SdkPublic; + +import java.nio.file.Files; +import java.nio.file.Paths; + +/** + * cosmic服务启动器,含默认配置,如需更改请在Application中设置。 + */ +@SdkPublic +public final class Launcher { + + private boolean setConfigUrl = false; + + public Launcher() { + setDefault(); + } + + private void setDefault() { + set("configAppName", "mservice,web"); + set("webmserviceinone", "true"); + set("file.encoding", "utf-8"); + set("mq.consumer.register", "true"); + set("MONITOR_HTTP_PORT", "9998"); + set("JMX_HTTP_PORT", "9091"); + set("dubbo.protocol.port", "28888"); + set("dubbo.consumer.url", "dubbo://localhost:28888"); + set("dubbo.consumer.url.qing", "dubbo://localhost:30880"); + set("dubbo.registry.register", "false"); + set("dubbo.service.lookup.local", "true"); + set("appSplit", "false"); + set("tenant.code.type", "config"); + set("JETTY_WEB_PORT", "8080"); + set("domain.contextUrl", "http://localhost:8080/ierp"); + set("lightweightdeploy", "false"); + set("redismodelcache.enablelua", "true"); + set("lightweightdeploy.services", ""); + + try { + String logConfig = new String(Files.readAllBytes(Paths.get(getClass().getResource("log.config.xml").toURI())), "UTF-8"); + set("log.config", logConfig); + } catch (Exception e) { + //ignore + } + + setClusterNumber("cosmic"); + setTenantNumber("sample"); + setAppName("cosmic-server"); + setStartWithQing(true); + setXdbEnable(false); + setSqlOut(false, true); + } + + public void start() { + JettyServer.main(null); + } + + public void set(String key, String value) { + System.setProperty(key, value); + } + + public String get(String key) { + return System.getProperty(key); + } + + /** + * 设置苍穹服务器IP地址 + */ + public void setServerIP(String ip) { + setMCServerUrl("http://" + ip + ":8090/mc"); + if (!setConfigUrl) { + setConfigUrl(ip + ":2181"); + } + set("fileserver", "http://" + ip + ":8100/fileserver/"); + set("imageServer.url", "http://" + ip + ":8100/fileserver/"); + } + + /** + * 设置MC服务地址 + * + * @param mcServerUrl + */ + public void setMCServerUrl(String mcServerUrl) { + set("mc.server.url", mcServerUrl); + } + + /** + * @param configUrl 配置服务地址 + */ + public void setConfigUrl(String configUrl) { + set(ConfigUtils.CONFIG_URL_KEY, configUrl); + setConfigUrl = true; + } + + /** + * 配置服务地址 + * + * @param connectString zookeeper链接URL,如 127.0.0.1:2181 + * @param user 用户 + * @param password 密码 + */ + public void setConfigUrl(String connectString, String user, String password) { + if (user != null && password != null) { + setConfigUrl(connectString + "?user=" + user + "&password=" + password); + } else { + setConfigUrl(connectString); + } + } + + /** + * @param clusterNumber 集群编码 + */ + public void setClusterNumber(String clusterNumber) { + set(ConfigUtils.CLUSTER_NAME_KEY, clusterNumber); + } + + + /** + * @param appName 本节点服务名称 + */ + public void setAppName(String appName) { + setAppName(appName, true); + } + + public void setAppName(String appName, boolean alsoSetQueueTag) { + set(ConfigUtils.APP_NAME_KEY, appName); + if (alsoSetQueueTag) { + setQueueTag(appName); + } + } + + public void setStartWithQing(boolean b) { + set("bos.app.special.deployalone.ids", b ? " " : "qing"); + } + + /** + * @param tenantNumber 租户编码 + */ + public void setTenantNumber(String tenantNumber) { + set("domain.tenantCode", tenantNumber); + } + + /** + * @param enable 是否开启水平分表服务 + */ + public void setXdbEnable(boolean enable) { + set("xdb.enable", String.valueOf(enable)); + } + + /** + * @param tag 队列标记 + */ + public void setQueueTag(String tag) { + set("mq.debug.queue.tag", tag); + } + + /** + * @param path web路徑 + */ + public void setWebPath(String path) { + set("JETTY_WEBRES_PATH", path); + } + + /** + * 控制台输出SQL开关 + * + * @param outSQL 是否输出SQL + * @param withParameter 是否输出参数 + */ + public void setSqlOut(boolean outSQL, boolean withParameter) { + set("db.sql.out", String.valueOf(outSQL)); + set("db.sql.out.withParameter", String.valueOf(withParameter)); + } + + /** + * 设置fileServer路径端口 + * @param ip + * @param port + */ + public void setFileServerPathIPAndPort(String ip,String port){ + set("fileserver", "http://10.64.112.152:30003/fileserver/"); + set("imageServer.url", "http://10.64.112.152:30003/fileserver/"); + set("attachmentServer.url", "http://10.64.112.152:30003/fileserver/"); + + } + +} \ No newline at end of file diff --git a/src/main/java/kd/cosmic/server/log.config.xml b/src/main/java/kd/cosmic/server/log.config.xml new file mode 100644 index 00000000..fe3aa1ac --- /dev/null +++ b/src/main/java/kd/cosmic/server/log.config.xml @@ -0,0 +1,56 @@ + + + + + + + + %d{HH:mm:ss} [%thread] %level %logger.%M\(%L\):%m%n + + + + {{clusterName}}-log + {{log.kafka.ip_port}} + none + false + org.apache.kafka.common.serialization.StringSerializer + org.apache.kafka.common.serialization.StringSerializer + + + + ${LOG_HOME}/log.%d{yyyy-MM-dd}(%i).log + true + 5 + + 10MB + + + + utf-8 + %d{HH:mm:ss} [%thread] %level %logger.%M\(%L\):%m%n + + false + false + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file