在从控制台运行作为服务运行时,Java服务包装程序出现问题【JAVA教程】

!
也想出现在这里? 联系我们
信息

在从控制台运行作为服务运行时,Java服务包装程序出现问题,第1张

概述在从控制台运行作为服务运行时,Java服务包装程序出现问题

我有一个访问registry项的Java服务包装器应用程序。 (是的,我知道,很奇怪,呵呵?如果你想知道,我正在使用DavID的解决scheme来解决这个问题 ,使用Java从registry中读取。)

在32位版本的windows上,一切正常。 我可以从控制台(使用Java Service Wrapper的.bat文件)和作为从bat文件安装的服务运行我的应用程序。 我可以从windowsregistry中看到我需要的各种东西。

但是,在64位windows系统上,当我将应用程序作为服务运行时,我再也看不到需要的registry项; 条目全部显示为空。 但是,它仍然在控制台中工作!

我的假设是,从控制台运行时(作为pipe理用户,万一它是相关的),Java服务包装器启动一个64位JVM,并能够访问常规的64位registry。 然后,当作为一个服务运行(通过LOCALSYstem用户),它启动一个32位的JVM(然后将试图访问Wow6432bit节点中的哦,所以特殊的32位registry。我正在寻找的条目是没有从这个节点,这将解释为什么我在这种情况下为他们获得空值。

32/64位日蚀

PHP可以告诉服务器是否是64位的?

MapVIEwOffile在32位和64位进程之间共享

使用哪个命令来检查python是64位还是32位

初始堆大小无效:-xms128M -Xmx512M -Xss1024K -Dlog4j.deBUG …?

这导致了我的问题:为什么地球上的Java服务包装器启动时通过服务列表启动一个32位的JVM,为什么会从控制台启动时启动一个64位的JVM?

注:我正在使用Java服务包装3.5.14,并在我的configuration文件中

wrapper.java.additional.auto_bits=TRUE

理想情况下,我想保持JVMselect自动,所以我可以使用一个安装程序在32位和64位系统上部署我的软件。 (这是我select通过Tomcat使用JsW的一个原因,事实上。)

非常感谢您的阅读。

Oracle – 32位客户端,64位服务器 – ADODB连接指定32位驱动程序?

在pycurl窗口64/32位整数问题

Visual Studio命令编译器强制执行64位编译

编译64位linux的32位GTK +应用程序

在控制面板的Java实用程序的系统选项卡中更新或添加Java

事实证明,我的安装程序(我用来安装和启动服务)是一个32位应用程序,它使Java Service Wrapper .bat文件在安装过程中在32位环境中运行。 由于64位系统上没有32位Java,这意味着包装程序找不到Java。

这个技巧(我从Tanuki Software的支持人员那里了解到的)是告诉.bat文件运行64位包装器,如果知道我们在64位系统上运行在32位环境中的话。

基本上,在.bat文件中,找到这些行并插入指定的行。 如果我遇到更多问题,我会更新我的答案。 但现在,这个解决方案似乎对我来说很好。

rem rem DecIDe on the specific Wrapper binary to use (See delta-pack) rem if \”%PROCESSOR_ARCHITEW6432%\”==\”AMD64\” goto amd64 (<—- insert this line) if \”%PROCESSOR_ARCHITECTURE%\”==\”AMD64\” goto amd64 if \”%PROCESSOR_ARCHITECTURE%\”==\”IA64\” goto ia64

总结

以上是内存溢出为你收集整理的在从控制台运行作为服务运行时,Java服务包装程序出现问题全部内容,希望文章能够帮你解决在从控制台运行作为服务运行时,Java服务包装程序出现问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞60 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容