springMVC项目中调用dll存在的问题

cjbedu2012 2017-06-24 06:09:03
1、在springMVC项目中通过JNA调用dll,用ajax提交至后台,每次只能调用一次,继续调用需要重启tomcat才行-BUG
但是用main方法测试可以连续调用

如:后台有个获取身份的方法叫getSF(),前台先选择张三调用后台的getSF()-正常取值,接着选择李四调用后台的getSF()-取值异常,此时重启tomcat服务再来获取就正常了。


已测试与浏览器缓存无关系
...全文
1183 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
微瞰技术 2018-05-18
  • 打赏
  • 举报
回复
解决方案https://blog.csdn.net/u011342403/article/details/80356502
微瞰技术 2018-05-07
  • 打赏
  • 举报
回复
引用 5 楼 cjbedu2012 的回复:
其实很简单。
tomcat使用jna调dll之后就停止了,是为什么?你怎么解决的
诺丽果 2018-05-03
  • 打赏
  • 举报
回复
引用 8 楼 u011342403 的回复:
[quote=引用 5 楼 cjbedu2012 的回复:] 其实很简单。
SpringMVC调用dll第一次加载出现这不是win32程序,刷新页面之后,出现 java.lang.NoClassDefFoundError: Could not initialize class com.lym.test.ZhifuController$JNATestDll 项目的jdk已经换成32位了。是否需要将系统环境变量里的jdk换成32位的 [/quote]
引用 8 楼 u011342403 的回复:
[quote=引用 5 楼 cjbedu2012 的回复:] 其实很简单。
SpringMVC调用dll第一次加载出现这不是win32程序,刷新页面之后,出现 java.lang.NoClassDefFoundError: Could not initialize class com.lym.test.ZhifuController$JNATestDll 项目的jdk已经换成32位了。是否需要将系统环境变量里的jdk换成32位的 [/quote]如果dll是32的,那你的所有环境也得是32位的才行
微瞰技术 2018-05-03
  • 打赏
  • 举报
回复
引用 5 楼 cjbedu2012 的回复:
其实很简单。
SpringMVC调用dll第一次加载出现这不是win32程序,刷新页面之后,出现 java.lang.NoClassDefFoundError: Could not initialize class com.lym.test.ZhifuController$JNATestDll 项目的jdk已经换成32位了。是否需要将系统环境变量里的jdk换成32位的
微瞰技术 2018-05-03
  • 打赏
  • 举报
回复
引用 5 楼 cjbedu2012 的回复:
其实很简单。
使用SpringMVC调用dll先出现不是有效的win32程序,刷新之后出现 java.lang.NoClassDefFoundError: Could not initialize class com.lym.test.ZhifuController$JNATestDll 这种你有遇到过吗?
诺丽果 2018-05-03
  • 打赏
  • 举报
回复
非SpringMVC项目是什么项目,也是java的吗
微瞰技术 2018-05-03
  • 打赏
  • 举报
回复
引用 9 楼 weixin_39309867 的回复:
[quote=引用 8 楼 u011342403 的回复:] [quote=引用 5 楼 cjbedu2012 的回复:] 其实很简单。
SpringMVC调用dll第一次加载出现这不是win32程序,刷新页面之后,出现 java.lang.NoClassDefFoundError: Could not initialize class com.lym.test.ZhifuController$JNATestDll 项目的jdk已经换成32位了。是否需要将系统环境变量里的jdk换成32位的 [/quote]
引用 8 楼 u011342403 的回复:
[quote=引用 5 楼 cjbedu2012 的回复:] 其实很简单。
SpringMVC调用dll第一次加载出现这不是win32程序,刷新页面之后,出现 java.lang.NoClassDefFoundError: Could not initialize class com.lym.test.ZhifuController$JNATestDll 项目的jdk已经换成32位了。是否需要将系统环境变量里的jdk换成32位的 [/quote]如果dll是32的,那你的所有环境也得是32位的才行[/quote] 但是在非SpringMVC项目中,是可以成功调用dll的,只是放到SpringMVC中就不行了。
cjbedu2012 2017-08-29
  • 打赏
  • 举报
回复
其实很简单。
wgd81685 2017-06-28
  • 打赏
  • 举报
回复
楼主提供的信息有限,有两个建议 1 检查代码,是否是参数问题? 2 在前台调用张三的getSF()方法后,立即调用李四的getSF()方法,看是否会异常
cjbedu2012 2017-06-28
  • 打赏
  • 举报
回复
经过调试是在WEB中执行方法后,再进来就有问题了
cjbedu2012 2017-06-28
  • 打赏
  • 举报
回复
引用 3 楼 wgd81685 的回复:
楼主提供的信息有限,有两个建议
1 检查代码,是否是参数问题?
2 在前台调用张三的getSF()方法后,立即调用李四的getSF()方法,看是否会异常



这是controler中的代码,启动tomcat后第一次执行都是正常的,同样的调用代码,接下来调用就不正常了,得重启tomcat服务
cjbedu2012 2017-06-25
  • 打赏
  • 举报
回复
在web项目中调用dll怎么会出现这种问题呢?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧