搭建XJAVA架构的WEB服务

步骤1:创建Web工程(可跳过)

在Eclipse中创建Web工程。对已有项目的改造可跳过此步骤。

菜单路径Eclipse -> File -> New -> Project…。具体就不细说了,相信大家都会。

搭建XJAVA架构的WEB服务

 搭建XJAVA架构的WEB服务

目录结构如下图

搭建XJAVA架构的WEB服务

 

 

 

步骤2:引用Jar包

全部引用的jar包可在xjava.jar/META-INF/maven/org/hy/common/xjava/pom.xml配置中找到,

下面罗列出核心引用包的列表。

名称

用途说明

必要?

hy.common.base.jar

基础类库

hy.common.file.jar

文件类库

xjava.jar

XJava核心类库

hy.common.db.jar

关系型数据库的操作类库

数据库操作必要

hy.common.tpool.jar

线程池、定时任务类库

XSQL组功能必要

hy.common.net.jar

云通讯类库

集群管理、云计算必要

fel.jar

轻量高效的表达式计算引擎

数据库操作必要

json-smart.jar

高性能的Json类库

 

其它相关包的依赖可在相关开源项目中找到。

将所需的jar包放在工程的lib目录下,或者创建路径引用方式引入到项目中。

 

 

 

步骤3:添加Xml配置文件

WEB-INF目录下添加如下XML配置文件,配置文件名称可变,并不是内定的。列表中的XML配置是参考样例,具体工程应按自身情况制定。

名称

用途说明

必要?

sys.Config.xml

整个工程的配置参数。用户自行定义的。

startup.Config.xml

启动加载XML列表的配置。

sys.DB.Config.xml

数据库连接池配置。

数据库操作必要

job.Config.xml

定时任务配置。

 

 

 

 

步骤4:添加Js类库(管理、部署、监控、分析时可选)

WEB-INF目录下添加如下diffjqueryjsoneditor-3.1.2三个目录,它们可在下面的地址中下载:

https://github.com/HY-ZhengWei/XJava

搭建XJAVA架构的WEB服务

 

添加上面三个Js类库后,XJava构架下的Web服务将有能力启动如下功能:

1.      XML配置热加载、

2.     重建数据库对象、

3.      集群部署、

4.     XSQL运行监控(包括异常SQL)、

5.      多线程运行监控、

6.     主机服务CPU、内存监控、

7.      定时任务监控、

8.     数据库连接池组控制、

9.     XJava对象及缓存数据分析、

10.  Web资源管理器。

上面功能将依赖Js类库。

配置成功后可通过地址http://IP:端口/Web服务名称/analyses打开管理页面。步骤4还没有配置完成呢。

搭建XJAVA架构的WEB服务

 

 

 

步骤5:添加初始化Listener类

在项目合适的包中添加InitConfig.jara类,它的名称可变,不是内定的。用于Web项目启动时初始所有XML配置,构建XJava对象池、数据库连接池等。

 

点击InitConfig.java类名称下载。其Java代码可自行调整,此处只是参考样例。

 

 

 

步骤6:添加Web.xml启动配置

在WEB-INF/web.xml中添加如下内容。

1. <!-- 系统初始化信息 -->  

2. <listener>  

3.     <listener-class>步骤5InitConfig包路径。如org.hy.InitConfig</listener-class>  

4. </listener>  

5.   

6. <servlet>  

7.       <servlet-name>AppBaseServlet</servlet-name>  

8.       <servlet-class>org.hy.common.xml.plugins.AppBaseServlet</servlet-class>  

9.   </servlet>  

10.   <servlet-mapping>  

11.       <servlet-name>AppBaseServlet</servlet-name>  

12.       <url-pattern>/app</url-pattern>  

13.   </servlet-mapping>  

14.     

15. <servlet>  

16.     <servlet-name>AnalysesServlet</servlet-name>  

17.     <servlet-class>org.hy.common.xml.plugins.analyse.AnalysesServlet</servlet-class>  

18. </servlet>  

19. <servlet-mapping>  

20.     <servlet-name>AnalysesServlet</servlet-name>  

21.     <url-pattern>/analyses</url-pattern>  

22. </servlet-mapping>  

23.   

24. <servlet>  

25.     <servlet-name>AnalyseServerServlet</servlet-name>  

26.     <servlet-class>org.hy.common.xml.plugins.analyse.AnalyseServerServlet</servlet-class>  

27. </servlet>  

28. <servlet-mapping>  

29.     <servlet-name>AnalyseServerServlet</servlet-name>  

30.     <url-pattern>/analyses/analyseDB</url-pattern>  

31. </servlet-mapping>  

32.   

33. <!-- 管理密码。可通过StringHelp.md5("**" ,StringHelp.$MD5_Type_Hex)重新生成 -->  

34. <servlet>  

35.     <servlet-name>AnalyseObjectServlet</servlet-name>  

36.     <servlet-class>org.hy.common.xml.plugins.analyse.AnalyseObjectServlet</servlet-class>  

37.     <init-param>  

38.           <param-name>password</param-name>  

39.           <param-value>3958D700BA10B12321294C7B314630CB</param-value>  

40.       </init-param>  

41. </servlet>  

42. <servlet-mapping>  

43.     <servlet-name>AnalyseObjectServlet</servlet-name>  

44.     <url-pattern>/analyses/analyseObject</url-pattern>  

45. </servlet-mapping>  

 

参考样例见

https://github.com/HY-ZhengWei/XFlowWeb/blob/master/WebRoot/WEB-INF/web.xml

 

 

 

步骤7:启动验证

到此即配置完成。启动输出如下绿色文字的日志内容(内容仅限参考,每个项目均不一样),并且不报错,即为搭建XJava架构成功。

1. 五月 18, 2018 4:07:20 下午 org.apache.catalina.core.AprLifecycleListener init  

2. 信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\Software\Java\jdk1.7.0_55\bin;C:\windows\Sun\Java\bin;C:\windows\system32;C:\windows;D:\Software\Java\jdk1.7.0_55\jre\bin;D:/Software/Java/jdk1.7.0_55/bin/../jre/bin/server;D:/Software/Java/jdk1.7.0_55/bin/../jre/bin;D:/Software/Java/jdk1.7.0_55/bin/../jre/lib/amd64;D:\Software\oracle\product\11.2.0\dbhome_1\bin;.;D:\Software\Java\jdk1.7.0_55\bin;C:\windows\system32;C:\windows;D:\Software\OpenSSH\bin;C:\windows\system32\wbem;D:\Software\Microsoft SQL Server Share\100\Tools\Binn\;D:\Software\Microsoft SQL Server\100\Tools\Binn\;D:\Software\Microsoft SQL Server\100\DTS\Binn\;D:\Software\Microsoft SQL Server Share\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;D:\Software\Microsoft SQL Server Share\100\DTS\Binn\;C:\windows\system32\config\systemprofile\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files\MIT\Kerberos\bin;D:\Software\TortoiseSVN\bin;C:\Program Files\Git\cmd;D:\apache-maven-3.3.9\bin;D:\Software\IBM\SQLLIB\BIN;D:\Software\IBM\SQLLIB\FUNCTION;D:\Software\IBM\SQLLIB\SAMPLES\REPL;;D:\Software\Docker Toolbox;D:\Software\eclipse;;.  

3. 五月 18, 2018 4:07:20 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin  

4. 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:XFlowWeb' did not find a matching property.  

5. 五月 18, 2018 4:07:20 下午 org.apache.coyote.AbstractProtocol init  

6. 信息: Initializing ProtocolHandler ["http-bio-80"]  

7. 五月 18, 2018 4:07:20 下午 org.apache.coyote.AbstractProtocol init  

8. 信息: Initializing ProtocolHandler ["ajp-bio-8009"]  

9. 五月 18, 2018 4:07:20 下午 org.apache.catalina.startup.Catalina load  

10. 信息: Initialization processed in 1229 ms  

11. 五月 18, 2018 4:07:20 下午 org.apache.catalina.core.StandardService startInternal  

12. 信息: Starting service Catalina  

13. 五月 18, 2018 4:07:20 下午 org.apache.catalina.core.StandardEngine startInternal  

14. 信息: Starting Servlet Engine: Apache Tomcat/7.0.47  

15. Loading sys.Config.xml  

16. load finish.  

17. Loading startup.Config.xml  

18. load finish.  

19. log4j:WARN No appenders could be found for logger (com.mchange.v2.log.MLog).  

20. log4j:WARN Please initialize the log4j system properly.  

21. Loading sys.DB.Config.xml  

22. load finish.  

23. Loading sys.Config.xml  

24. load finish.  

25. Loading startup.Config.xml  

26. load finish.  

27. Loading dbCreate/create.01.Common.xml  

28. Loading dbCreate/create.02.Template.xml  

29. Loading dbCreate/create.03.Flow.xml  

30. Loading dbCreate/create.03.FlowHistory.xml  

31. Loading db/db.ActivityInfo.xml  

32. Loading db/db.ActivityParticipants.xml  

33. Loading db/db.ActivityRoute.xml  

34. Loading db/db.ActivityRouteParticipants.xml  

35. Loading db/db.ActivityType.xml  

36. Loading db/db.FlowFutureOperator.xml  

37. Loading db/db.FlowInfo.xml  

38. Loading db/db.FlowLastOperator.xml  

39. Loading db/db.Process.xml  

40. Loading db/db.ProcessParticipants.xml  

41. Loading db/db.Template.xml  

42. Loading dbGroup/db.FlowProcess.xml  

43. load finish.  

44. Loading job.Config.xml  

45. load finish.  

46. Loading job.Config.xml  

47. load finish.  

48. 五月 18, 2018 4:07:27 下午 org.apache.catalina.core.ApplicationContext log  

49. 信息: Initializing Spring root WebApplicationContext  

50. 五月 18, 2018 4:07:27 下午 org.apache.catalina.startup.HostConfig deployDirectory  

51. 信息: Deploying web application directory D:\apache-tomcat-7.0.47\webapps\ROOT  

52. 五月 18, 2018 4:07:28 下午 org.apache.coyote.AbstractProtocol start  

53. 信息: Starting ProtocolHandler ["http-bio-80"]  

54. 五月 18, 2018 4:07:28 下午 org.apache.coyote.AbstractProtocol start  

55. 信息: Starting ProtocolHandler ["ajp-bio-8009"]  

56. 五月 18, 2018 4:07:28 下午 org.apache.catalina.startup.Catalina start  

57. 信息: Server startup in 7257 ms