Apache OFBiz Development The Beginners Tutorial 翻译之四 运行OFBiz

来源:互联网 发布:天猫网购商城淘宝 编辑:程序博客网 时间:2024/05/16 16:11

运行OFBiz

---------------------------------------------------

现在我们完成了必要的预启动步骤,是时候启动OFBiz了。但在启动之前我们将需要检查我们的可用内存。

 

---------------------------------------------------

给OFBiz分配内存

 

为查看可用内存,按Ctrl+Shift+Esc键调出Windows任务管理器。点击【性能】选项卡,另一种打开任务管理器的方式是在任务栏空白处右击(可在任务栏右边的时间旁边的空白处尝试),然后选择任务管理器。
 
在选项卡可看到类似上图的部分,单位是K。OFBiz的内存改变是以M为单位的,1M约等于1000K(实际上会多一些,1024K)。在上图所示的系统中,约有900M可能内存。
OFBiz的内存使用量由${OFBizInstallFolder}\startofbiz.bat(Linux用户可查看等同的.sh文件)。编辑该文件,找到如下类似部分:
"%JAVA_HOME%\bin\java" -Xms256M -Xmx512M -Duser.language=en -jar ofbiz.jar > runtime\logs\console.log
在-Xms右边的256M(表示256M字节)是OFBiz将使用的最小内存。OFBiz将在启动时分配那么大的内存。-Xmx后面的512M是OFBiz将使用的最大内存。OFBiz可能增加内存,在课程操作和依据可用内存,如有必要可增大这个数据。
最小内存在启动时就会被设置,因此我们应该设置该值为一个确信经常可用的内存大小。在我们的例子中,我们有900M的可用内存,这时应该设置OFBiz的最小内存小于这个数,也许是521M或更少。同理,应保证最大内存不要大于我们的可用内存。在我们的例子中,768也许是一个安全的设置值。

如果物理内存少于128M,OFBiz将慢如蜗牛。但因为Windows(或其他操作系统)有个“虚拟内存”的概念,实际上是使用你的硬盘,OFBiz仍可运行,硬盘访问比RAM(物理内存芯片)访问慢。

Linux服务器下的产品级可以分配至少2G的RAM给OFBiz。没理由让你分配OFBiz的最小内存和最大内存为2G,这让OFBiz一直使用分配的2G内存。Windows系统不能分配给一个JVM实例多余1.5G的内存,除非我们使用64位版本。

---------------------------------------------------

启动OFBiz并检查启动进程

 

现在我们启动这个引擎,进入${OFBizInstallFolder}目录,双击startofbiz.bat。一个不可编辑的命令行窗口出现,这时OFBiz将启动。
确保OFBiz完成启动进程的可靠方式是检查${OFBizInstallFolder}\runtime\logs\console.log[BTW:09.04版本默认似乎没有console.log文件,请查看ofbiz.log instead]文件并查找下面的行:
Connector AJP/1.3 @ 8009 - not-secure [org.apache.jk.server.JkCoyoteHandler] started.
Connector HTTP/1.1 @ 8080 - not-secure [org.apache.coyote.http11.Http11Protocol] started.
Connector TLS @ 8443 - secure [org.apache.coyote.http11.Http11Protocol] started. Started Apache Tomcat/5.5.20
请确保OFBiz启动时没有任何问题,搜索console.log文件中的关键字Exception和Error。如果没有找到则表示OFBiz启动没有问题。

---------------------------------------------------

实时查看日志

 

有时也许需要方便地实时查看日志,而不是在事件发生之后定位到日志文件来查看发生了什么。删除startofbiz.bat文件中的>runtime\logs\console.log部分就可以达到这个目的。日志将不再出现在console.log文件中,而是在命令行中滚动。但日志仍将记录在ofbiz.log文件中。

---------------------------------------------------

启动时可能出现的问题

 

OFBiz监听了一些端口。OFBiz启动的一个可能问题是启动时一个监听端口被其它程序占用。例如:${OFBizInstallFolder}\runtime\logs\console.log[BTW:09.04版本默认似乎没有console.log文件,请查看ofbiz.log instead]可能包含如下行:
[ Http11BaseProtocol.java:140:ERROR] Error initializing endpoint  java.net.BindException: Address already in use: JVM_Bind:8080
这表示8080端口被占用。详细介绍如何更改OFBiz的监听端口可在Apache OFBiz产品配置指南中查看:http://docs.ofbiz.org/display/OFBTECH/Apache+OFBiz+Technical+Production+Setup+Guide。
一些常用程序包括Skype、MSN和苹果的iTunes通常占用80和1099端口,这也将在启动时引起问题。如果出现问题,应该停止这些程序。

---------------------------------------------------

关闭OFBiz

 

关闭OFBiz很简单,定位到OFBiz启动shell,按下Ctrl+C。我们将看到shell显示提示:Terminate batch job (Y/N)?。回复Y来终止OFBiz。在${OFBizInstallFolder}\runtime\logs\console.log[BTW:09.04版本默认似乎没有console.log文件,请查看ofbiz.log instead]文件我们将看到一系列的关闭日志:
[    ContainerLoader.java:93 :INFO ] Shutting down containers
[  ServiceDispatcher.java:176:INFO ] De-Registering dispatcher: example
[  ServiceDispatcher.java:176:INFO ] De-Registering dispatcher: partymgr
...
...
[  ServiceDispatcher.java:176:INFO ] De-Registering dispatcher: RMIDispatcher
任何关闭错误(非常少)也将写入到console.log中。

注意,如果你点击shell窗口右上角的叉,OFBiz也将关闭。


原创粉丝点击