java - CXF如何自动运行 REST API
伊谢尔伦
伊谢尔伦 2017-04-17 13:12:11
[Java讨论组]
java
public final class Server { private static Logger LOGGER = Logger.getLogger(Server.class); private final String SERVICE = "/travelman/rest/" ; private final String PORT = "9002" ; public void publish(Class<?> serviceClass, Object impl) { JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean(); sf.setResourceClasses(serviceClass); sf.setResourceProvider(serviceClass, new SingletonResourceProvider(impl)); // String addr = "http://192.168.100.146:"+PORT+SERVICE+serviceClass.getSimpleName() ; String addr = "http://192.168.1.111:"+PORT+SERVICE+serviceClass.getSimpleName() ; LOGGER.info("Rest Service:"+addr); sf.setAddress(addr); System.out.println("Service:"+addr); sf.create(); } public void startLoginUserRestApi(){ LoginUserRestApiImpl loginUserRestApiImpl=new LoginUserRestApiImpl(); this.publish(cn.com.travelman.service.rest.userinfo.LoginUserRestApi.class, loginUserRestApiImpl); } public static void main(String args[]) throws Exception { Server server = new Server(); server.startLoginUserRestApi(); System.out.println("Server ready..."); Thread.sleep(200 * 60 * 1000); System.out.println("Server exiting"); System.exit(0); }

现在运行方式是这样的。运行server.java文件就发布一个服务。但是现在要让他自动运行,该怎么办呢?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(1)
黄舟

那要看你想让的rest服务以何种方式存在了。
你现在这种是stand-alone的方式运行,在入口类里利用JAXRSServerFactoryBean发布rest,你可以打成jar后在manifest里指定入口类,然后双击jar即可自动运行。
也可以把你的jar包装成系统服务,然后利用系统服务生命周期自动运行,这个可以利用Java Service Wrappe。
如果你想部署在某个web容器里,tomcat,weblogic等的话就要转换成j2ee项目,然后利用监听器在容器启动时自动运行,或集成到spring里。
总之,路子很多,你最好先弄明白你想让你的服务以哪种方式存在。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号