有这么一个功能:
模块是这样做的,因为做的是底层。
首先上层使用delphi开发,然后底层想采用web service的方式(java)。
现在这样的问题是这样。
java调用delphi的dll,dll访问数据库,返回特定xml格式的字符串。
机器A:64位,dll开发环境。java虚拟机32位。(他编译出来的dll为32位)
机器B:32位,java虚拟机32位。
B搭建web service环境,然后去调用dll,出现问题。 第一:字符乱码。第二:传参后访问web service自己爆死(用delphi做的exe文件访问,使用java的客户端去调用没问题)。
后来到A机器又重新部署一个web service。访问没问题。用delphi的exe访问也没问题。
多环境,跨平台真心伤不起。 :cry: :cry:
对于上面的问题。乱码:为对方编译dll的时候没有加入相应的包,加入之后重新编译这边便没有问题。
对于传参的问题。 在我的另外一篇文章中已经做了说明。
另外。对于32位JDK,内存只能设定1.5G高于1.5G会出现问题。
设置tomcat的内存分配,如果高于1.5G 那么tomcat将不会启动。而且没有任何提示。
设置内存的方法。
%Tomcat%/bin/catalina.bat
加入重启即可。
模块是这样做的,因为做的是底层。
首先上层使用delphi开发,然后底层想采用web service的方式(java)。
现在这样的问题是这样。
java调用delphi的dll,dll访问数据库,返回特定xml格式的字符串。
机器A:64位,dll开发环境。java虚拟机32位。(他编译出来的dll为32位)
机器B:32位,java虚拟机32位。
B搭建web service环境,然后去调用dll,出现问题。 第一:字符乱码。第二:传参后访问web service自己爆死(用delphi做的exe文件访问,使用java的客户端去调用没问题)。
后来到A机器又重新部署一个web service。访问没问题。用delphi的exe访问也没问题。
多环境,跨平台真心伤不起。 :cry: :cry:
对于上面的问题。乱码:为对方编译dll的时候没有加入相应的包,加入之后重新编译这边便没有问题。
对于传参的问题。 在我的另外一篇文章中已经做了说明。
另外。对于32位JDK,内存只能设定1.5G高于1.5G会出现问题。
设置tomcat的内存分配,如果高于1.5G 那么tomcat将不会启动。而且没有任何提示。
设置内存的方法。
%Tomcat%/bin/catalina.bat
echo Using CATALINA_BASE: "%CATALINA_BASE%"
set JAVA_OPTS=%JAVA_OPTS% -server -Xms800m -Xmx800m -XX:MaxNewSize=256m
加入重启即可。