diff --git a/xxl-rpc-samples/xxl-rpc-executor-sample-jfinal/xxl-rpc-executor-sample-jfinal-client/src/main/java/com/xxl/rpc/sample/client/config/JFinalCoreConfig.java b/xxl-rpc-samples/xxl-rpc-executor-sample-jfinal/xxl-rpc-executor-sample-jfinal-client/src/main/java/com/xxl/rpc/sample/client/config/JFinalCoreConfig.java index 86cb2eb76..69810922c 100644 --- a/xxl-rpc-samples/xxl-rpc-executor-sample-jfinal/xxl-rpc-executor-sample-jfinal-client/src/main/java/com/xxl/rpc/sample/client/config/JFinalCoreConfig.java +++ b/xxl-rpc-samples/xxl-rpc-executor-sample-jfinal/xxl-rpc-executor-sample-jfinal-client/src/main/java/com/xxl/rpc/sample/client/config/JFinalCoreConfig.java @@ -99,6 +99,7 @@ private void destoryXxlRpcClient() throws Exception { // ---------------------- jfinal ---------------------- + @Override public void configRoute(Routes route) { route.add("/", IndexController.class); } diff --git a/xxl-rpc-samples/xxl-rpc-executor-sample-jfinal/xxl-rpc-executor-sample-jfinal-server/pom.xml b/xxl-rpc-samples/xxl-rpc-executor-sample-jfinal/xxl-rpc-executor-sample-jfinal-server/pom.xml index 34b5c82cc..5f9300b0c 100644 --- a/xxl-rpc-samples/xxl-rpc-executor-sample-jfinal/xxl-rpc-executor-sample-jfinal-server/pom.xml +++ b/xxl-rpc-samples/xxl-rpc-executor-sample-jfinal/xxl-rpc-executor-sample-jfinal-server/pom.xml @@ -9,6 +9,38 @@ 1.3.1 xxl-rpc-executor-sample-jfinal-server + war + + + + + com.jfinal + jfinal + 2.2 + + + + + org.slf4j + slf4j-log4j12 + ${slf4j-api.version} + + + + + com.xuxueli + xxl-rpc-core + ${project.parent.version} + + + + + com.xuxueli + xxl-rpc-executor-sample-jfinal-api + ${project.parent.version} + + + \ No newline at end of file diff --git a/xxl-rpc-samples/xxl-rpc-executor-sample-jfinal/xxl-rpc-executor-sample-jfinal-server/src/main/java/com/xxl/rpc/sample/server/config/JFinalCoreConfig.java b/xxl-rpc-samples/xxl-rpc-executor-sample-jfinal/xxl-rpc-executor-sample-jfinal-server/src/main/java/com/xxl/rpc/sample/server/config/JFinalCoreConfig.java new file mode 100644 index 000000000..dd8ca42d1 --- /dev/null +++ b/xxl-rpc-samples/xxl-rpc-executor-sample-jfinal/xxl-rpc-executor-sample-jfinal-server/src/main/java/com/xxl/rpc/sample/server/config/JFinalCoreConfig.java @@ -0,0 +1,91 @@ +package com.xxl.rpc.sample.server.config; + +import com.jfinal.config.*; +import com.jfinal.kit.Prop; +import com.jfinal.kit.PropKit; +import com.xxl.rpc.registry.impl.XxlRegistryServiceRegistry; +import com.xxl.rpc.remoting.net.NetEnum; +import com.xxl.rpc.remoting.provider.XxlRpcProviderFactory; +import com.xxl.rpc.sample.api.DemoService; +import com.xxl.rpc.sample.server.service.DemoServiceImpl; +import com.xxl.rpc.serialize.Serializer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.HashMap; + +/** + * @author xuxueli 2018-12-21 + */ +public class JFinalCoreConfig extends JFinalConfig { + private Logger logger = LoggerFactory.getLogger(JFinalCoreConfig.class); + + + + // ---------------------- xxl-rpc server ---------------------- + + private XxlRpcProviderFactory xxlRpcProviderFactory; + private void initXxlRpcServer() throws Exception { + + // init invoker factory + final Prop xxlJobProp = PropKit.use("xxl-rpc-sample.properties"); + xxlRpcProviderFactory = new XxlRpcProviderFactory(); + xxlRpcProviderFactory.initConfig(NetEnum.NETTY, Serializer.SerializeEnum.HESSIAN.getSerializer(), null, 7080, null, XxlRegistryServiceRegistry.class, new HashMap(){{ + put(XxlRegistryServiceRegistry.XXL_REGISTRY_ADDRESS, xxlJobProp.get("xxl-rpc.registry.xxlregistry.address")); + put(XxlRegistryServiceRegistry.ENV, xxlJobProp.get("xxl-rpc.registry.xxlregistry.env")); + }}); + + // add services + xxlRpcProviderFactory.addService(DemoService.class.getName(), null, new DemoServiceImpl()); + + // start + xxlRpcProviderFactory.start(); + } + private void destoryXxlRpcServer() throws Exception { + xxlRpcProviderFactory.stop(); + } + + + // ---------------------- jfinal ---------------------- + + @Override + public void afterJFinalStart() { + try { + initXxlRpcServer(); + } catch (Exception e) { + logger.error(e.getMessage(), e); + } + } + + @Override + public void beforeJFinalStop() { + try { + destoryXxlRpcServer(); + } catch (Exception e) { + logger.error(e.getMessage(), e); + } + } + + @Override + public void configRoute(Routes routes) { + + } + + public void configConstant(Constants constants) { + + } + + public void configPlugin(Plugins plugins) { + + } + + public void configInterceptor(Interceptors interceptors) { + + } + + public void configHandler(Handlers handlers) { + + } + + +} diff --git a/xxl-rpc-samples/xxl-rpc-executor-sample-jfinal/xxl-rpc-executor-sample-jfinal-server/src/main/java/com/xxl/rpc/sample/server/service/DemoServiceImpl.java b/xxl-rpc-samples/xxl-rpc-executor-sample-jfinal/xxl-rpc-executor-sample-jfinal-server/src/main/java/com/xxl/rpc/sample/server/service/DemoServiceImpl.java new file mode 100644 index 000000000..102aaa643 --- /dev/null +++ b/xxl-rpc-samples/xxl-rpc-executor-sample-jfinal/xxl-rpc-executor-sample-jfinal-server/src/main/java/com/xxl/rpc/sample/server/service/DemoServiceImpl.java @@ -0,0 +1,30 @@ +package com.xxl.rpc.sample.server.service; + +import com.xxl.rpc.sample.api.DemoService; +import com.xxl.rpc.sample.api.dto.UserDTO; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.text.MessageFormat; + +/** + * @author xuxueli + */ +public class DemoServiceImpl implements DemoService { + private static Logger logger = LoggerFactory.getLogger(DemoServiceImpl.class); + + @Override + public UserDTO sayHi(String name) { + + String word = MessageFormat.format("Hi {0}, from {1} as {2}", + name, DemoServiceImpl.class.getName(), String.valueOf(System.currentTimeMillis())); + + if ("error".equalsIgnoreCase(name)) throw new RuntimeException("test exception."); + + UserDTO userDTO = new UserDTO(name, word); + logger.info(userDTO.toString()); + + return userDTO; + } + +} diff --git a/xxl-rpc-samples/xxl-rpc-executor-sample-jfinal/xxl-rpc-executor-sample-jfinal-server/src/main/resources/log4j.xml b/xxl-rpc-samples/xxl-rpc-executor-sample-jfinal/xxl-rpc-executor-sample-jfinal-server/src/main/resources/log4j.xml new file mode 100644 index 000000000..5f2e3787a --- /dev/null +++ b/xxl-rpc-samples/xxl-rpc-executor-sample-jfinal/xxl-rpc-executor-sample-jfinal-server/src/main/resources/log4j.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/xxl-rpc-samples/xxl-rpc-executor-sample-jfinal/xxl-rpc-executor-sample-jfinal-server/src/main/resources/xxl-rpc-sample.properties b/xxl-rpc-samples/xxl-rpc-executor-sample-jfinal/xxl-rpc-executor-sample-jfinal-server/src/main/resources/xxl-rpc-sample.properties new file mode 100644 index 000000000..8841a94e0 --- /dev/null +++ b/xxl-rpc-samples/xxl-rpc-executor-sample-jfinal/xxl-rpc-executor-sample-jfinal-server/src/main/resources/xxl-rpc-sample.properties @@ -0,0 +1,3 @@ +# xxl-rpc +xxl-rpc.registry.xxlregistry.address=http://localhost:8080/xxl-registry-admin +xxl-rpc.registry.xxlregistry.env=default \ No newline at end of file diff --git a/xxl-rpc-samples/xxl-rpc-executor-sample-jfinal/xxl-rpc-executor-sample-jfinal-server/src/main/webapp/WEB-INF/web.xml b/xxl-rpc-samples/xxl-rpc-executor-sample-jfinal/xxl-rpc-executor-sample-jfinal-server/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 000000000..c6a8b984d --- /dev/null +++ b/xxl-rpc-samples/xxl-rpc-executor-sample-jfinal/xxl-rpc-executor-sample-jfinal-server/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,28 @@ + + + + xxl-rpc-executor-sample-jfinal-client + + webAppRootKey + xxl-rpc-executor-sample-jfinal-client + + + + + jfinal + com.jfinal.core.JFinalFilter + + configClass + com.xxl.rpc.sample.server.config.JFinalCoreConfig + + + + jfinal + /* + + + + \ No newline at end of file