无状态会话Bean中的同步方法在Glassfish中不能如期工作
我在 glassfish 中部署了一个战争文件.我们有一些无状态会话 bean,其中有 1 个同步方法. 但是,我注意到超过 1 个线程能够同时进入同步方法.glassfish 是否有可能实例化这个 bean 类的 2 个实例?有没有办法解决这个问题? 解决方案 是的,当然可以.规范甚至要求并发调用由不同的实例处理.:这是容器提供的服务之一:它确保并发调用是同时处理的,而不是按顺序处理的,而且你无需关心线程安全(例如,通过使用实例变量)就可以自由地实现会话 bean,因为容器会处理它. 您想要的是单身.
136 2022-07-19
编程技术问答社区
JAR组件与EAR有什么不同? (应用服务器)
JAR 和 EAR 文件之间的区别是什么相对于 EJB 的?Glassfish 帮助说: thufir@doge:~$ thufir@doge:~$ GlassFish_Server/bin/asadmin deploy --help ... --type The packaging archive type of the component that is being deployed. Possible values are as follows: car The component is packaged as a CAR file. ear The component is packaged as an EAR file. ejb The compone
236 2022-07-19
编程技术问答社区
重新部署EJB后,javax.ejb.NoSuchEJBException
使用 Glassfish 3.0.1 ... 如果我有一个 Web 应用程序远程访问另一个应用程序中的 EJB,并且重新部署了包含 EJB 的远程应用程序,我会收到 javax.ejb.NoSuchEJBException(参见下面的堆栈跟踪). 这不应该吗?我可以看到有问题的 EJB 已成功部署,使用完全相同的 JNDI 名称. 除了重新启动 Web 应用程序之外,还有其他方法可以解决此问题吗?应该注意的是,在这个堆栈跟踪来自的特定示例中,我正在访问一个使用 CDI 注入 bean 的 servlet: public class StatusServlet extends HttpServlet { @Inject private StatusService statusService; @Override public void doGet(final HttpServletRequest req, final HttpServlet
2174 2022-07-19
编程技术问答社区
即使我没有关闭cookies,Glassfish也使用URL重写功能
当我使用最新的 Chrome 浏览器并在未关闭 cookie 的情况下登录应用程序时,Glassfish 诉诸 URL 重写的原因是什么?有什么我忘了配置还是什么?它随机发生. 解决方案 JSESSIONID 是确定用户当前 HTTP 会话的值.它通常存储在浏览器 cookie(名为 JSESSIONID)中,以将请求与服务器上的适当会话对象连接起来. JSESSIONID 不存在于原始请求中的原因可能是服务器没有机会将其发送回浏览器.没有当前 JSESSIONID cookie 的页面上的任何链接(例如,使用 c:url)都将使用 URL 重写生成(URL 将包含 jsessionid).在后续请求中,在将 JSESSIONID 存储为浏览器 cookie 之后,不会发生 URL 重写. 如果用户的浏览器不支持 cookie(或已关闭 cookie 的使用),则 URL 重写将允许用户通过添加到每个 URL 的 jsessionid 继续连接到同一会话. 但是
114 2022-07-19
编程技术问答社区
Netbeans/Glassfish-期望找到一个扩展目录,但发现了一个JAR
我正在尝试在本地 PC 上部署 Netbeans/Glassfish 项目.它目前正在生产中运行 该项目的结构似乎是基于此 url 中的文档的企业应用程序: https://netbeans.org/kb/docs/javaee/maven-entapp.html#intro 该项目有以下5个模块: WI-EAR WI-EJB WI-Enterprise WI-ENT-web WE-Web 根据上述参考教程,用于从 Netbeans 运行和部署的项目是“-EAR"项目. 当我右键单击 WI-EAR 项目节点并选择使用依赖项构建时,根据教程,我得到以下结果: Reactor Summary: WI-EJB ............................................ SUCCESS [0.723s] WI-Enterprise ..................................... SUCCESS [0.00
424 2022-07-19
编程技术问答社区
无法通过Glassfish 4.1网络管理创建任何JMS资源
我已经安装了 Glassfish 4 并尝试创建一些 JMS 资源来学习 JMS 的教程,但这是不可能的.在 Web 界面上,它总是出现文本“java.lang.RuntimeException",在日志控制台上它显示堆栈跟踪.总是抛出此异常我在“JMS 目标资源"页面或连接工厂页面上推送链接“新建...".这是堆栈跟踪: [#|2015-11-16T09:15:24.090+0100|INFO|glassfish 4.1|org.glassfish.admingui|_ThreadID=48;_ThreadName=admin-listener(5);_TimeMillis=1447661724090;_LevelValue=800;| Exception Occurred :null|#] [#|2015-11-16T09:15:24.097+0100|INFO|glassfish 4.1|org.glassfish.admingui|_ThreadID=48;_ThreadN
494 2022-07-19
编程技术问答社区
在glassfish中安装日志格式器
我不喜欢 com.sun.enterprise.server.logging.UniformLogFormatter 的输出,它可能是统一的,但不是很有帮助.所以第一步我只是用 java.util.logging.SimpleFormatter 替换它.这实际上工作正常,但对于 java.lang.ClassCastException 异常: java.lang.ClassCastException: java.util.logging.SimpleFormatter cannot be cast to com.sun.enterprise.server.logging.UniformLogFormatter 作为一个完美主义者,我想摆脱这个例外,我想知道我是否可以从 com.sun.enterprise.server.logging.UniformLogFormatter 创建自己的子类,并以某种方式将这个类安装到 glassfish 中. 但我找不到任何有关如何将自定义日
130 2022-07-19
编程技术问答社区
正则表达式 - java获得一个String字符串中第一个数字的下标,并截取后面的6位和前面的地区
问 题 小白一只,现在的环境是这样的: 一个String类型的变量"杭州20170222ax"或者是"乌鲁木齐20170222拉拉" 我想拿到201702,总之从左往右开始得到第一个数字,在往右截6位(substring),关键是怎么得到第一个数字的下标?我现在想拿第一个数字的位置!!因为我可能要获取全地区的名字 String str="宁波20170222呵呵22"; String regEx="\\D"; Pattern p=Pattern.compile(regEx); Matcher m=p.matcher(str); String result=m.replaceAll("").trim(); Character ch=result.charAt(0); int index=str.indexOf(ch); String diqu=str.substr
3376 2022-07-19
编程技术问答社区
java-ee - web 端微博第三方登录,授权回掉页面如何获取code?
问 题 微博第三方登陆接口 : https://api.weibo.com/oauth2/authorize 其中一个参数 : redirect_uri = 授权回调页面。 设置的是 授权回调页: https://api.weibo.com/oauth2/default.html 取消授权回调页: https://api.weibo.com/oauth2/default.html 做app开发的这样可以获取code。但是javascript怎么获取code,返回的这个页面我根本就控制不到啊, 怎么获取到code ? open一个窗口后到微博登录,登录完成后重定向到 授权回调页面,那个页面url上面带了一个code,但是open的小窗口无法控制啊。如何获取到code 解决方案 授权回调页 :必须设置为自己网站的地址,这样就可以接收到了。
216 2022-07-19
编程技术问答社区
java - web开发,单元测试。
问 题 1,各位weber是不是会写单元测试 2,一般用什么框架做单元测试,junit? (由于spring的各种配置,注入,似乎普通的单元测试经常出现空指针报错,是否有好用点的,避免麻烦的配置的单元测试方法,先谢过) 解决方案 正规的软件开发团队肯定会要求工程师编写单元测试。这和开发什么软件,团队什么规模,没有任何关系,只和你的项目、团队是不是正规有关系。 试想以下,如果你试图重构代码的时候,如果没有完善的测试用例,你敢改吗,改完了你能确定所有功能都正常吗?所以,UT&FT 是保证软件质量的必要条件。 几乎所有的框架都提供测试方法,比如spring 单元测试的代码量不会比正常代码少,往往是正常代码的1--2倍,甚至更多。配置不是单元测试的难点,难点是 mock -- 你需要伪造被测函数用到的大部分函数,这个工作有时候会很恶心。
254 2022-07-19
编程技术问答社区
java - 文件上传的路径问题
public class UploadServlet3 extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //检测form是否是multipart/form-data类型的 boolean isMultipart = ServletFileUpload.isMultipartContent(reque
508 2022-07-19
编程技术问答社区
java - tomcat 正常启动,但是总是不知道什么时候就关闭了。
问 题 项目发布的过程中是正常的,就是运行中不是什么时候就停止了。多次报下面的错误... SEVERE [http-apr-80-exec-13] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [springMVC] in context with path [/property-wechat-service] threw exception [Request processing failed; nested exception is java.lang.IllegalStateException: Cannot call sendRedirect() after the response has been committed] with root cause java.lang.IllegalStateException: Cannot call se
150 2022-07-19
编程技术问答社区
java-web - 在一个已经开发好的java系统中加入日志
问 题 如何在一个已经开发好的java系统中,为某个功能下的方法,添加用户操作日志呢?没有使用spring,也无法用过滤器,是一个类似C/S结构的系统。 如用户在操作某个功能时,需要在日志中输出 用户名 操作的方法名 操作时间 等 解决方案 可以在开发好的系统中的功能对象外面套一层自己的对象实现和功能对象一样的接口或者直接继承功能对象,即使用代理模式,自己在代理对象中添加日志就行。
210 2022-07-19
编程技术问答社区
spring - 历史记录解决方案
问 题 做的几个页面中,好几个地方都有搜索功能,分散在各个页面中,都有搜索历史的要求,请问怎么解决好,能否避免使用数据库存储。感谢,提供思路即可。 解决方案 如果只是单纯的存放最近的搜索记录,可以考虑放在localStorage,localStorage相对来说支持程度还是比较高、容量也比较大,不建议使用cookie,cookie有诸多弊端(数量、大小限制,增加请求头)。 附使用localStorage替代cookie做本地存储,例如最近浏览历史记录
172 2022-07-19
编程技术问答社区
Tomcat。单个网络应用程序的多种认证方案?
我的Web应用程序使用内部Web API(从浏览器中简单的AJAX请求,因为它是主要客户端的主要客户端,最终应该在第三方外部暴露.由于API是并且必须使用web.xml中的安全约束来保护,因此必须对用户或客户端进行身份验证.目前,有一种自定义表单验证器实现了一些额外的检查和操作,然后简单地将其他身份验证处理委托给FormAuthenticator类自定义认证器派生.这工作尚未真的很好,因为用户只是被迫登录和传递身份验证,而且唯一的客户端是Web浏览器. 但表单身份验证不是一个非常适合其他类型的客户端:让我们说一个Android客户端,各种第三方客户等等.太过了表格认证,他们都必须模拟我在这个问题中寻找的行为:如何使用jmeter模拟Tomcat中的表单身份验证?.经过一些关于Tomcat源代码的调查,我知道应该可以扩展AuthenticatorBase类以实现自己的身份验证方式(如FormAuthenticator或BasicAuthenticator.java Do).我尝试做的
304 2022-07-19
编程技术问答社区
JSF 2.1 SelectOneMenu自动切换为初始值
我在 index.xhtml 中有 2 个 SelectOneMenu,如下所示.menu1 本质上选择一种语言(sp 或 en),而 menu2 显示可能的序列号(0 到 3).我有初始化两个菜单上的默认值的初始化构造函数(后构造函数).但是由于某些奇怪的原因,如果我为默认语言以外的语言选择默认序列号以外的序列号,则语言会以某种方式重置为初始默认值:(
300 2022-07-19
编程技术问答社区
如何检查jar文件是否有效?
我的 webapp 允许用户上传 jar 文件.但是,在上传 jar 文件后,它已损坏.我通过比较 md5 校验和 (winmd5free) 验证了这一点. 上传的 jar 文件看起来“正常"和“正确" 与原始文件相比,文件大小看起来不错(在 KB 级别) 我可以使用7z打开上传的jar文件并查看其内容(资源和类文件),一切都和原来的一样 当我打开上传的 jar 文件(使用 Notepad++)时,我确实注意到二进制内容与原始内容不同.另外,当我使用 JarInputStream 读取 jar 条目时,没有条目. JarInputStream is = new JarInputStream(new FileInputStream(new File("uploaded.jar"))); JarEntry entry = null; while(null != (entry = is.getNextJarEntry())) { System.out.println(e
432 2022-07-19
编程技术问答社区
向Openshift添加外部JAR
我有一个非常基本的 Java Web 应用程序(使用 Eclipse openshift 插件创建).该应用程序在 OpenShift 服务器上运行良好.现在我需要使用外部 JAR 库在 Java 中进行 JSON 解析和创建.我无法理解如何将该 JAR 添加到 openshift 服务器. 我去了项目属性>>BuildPath>>添加外部JAR.虽然这确实导入了 JAR,但它在 openshift 服务器上不起作用,并给出了与该文件的导入相关的错误(我猜是 NoClassDefFound).您能告诉我如何将外部 jar 导入到 openshift 项目中吗? 解决方案 由于我们使用 Maven 进行构建过程,您所要做的就是将其作为依赖项添加到您的 pom.xml 中 这是一个添加mongo驱动的例子 https://github.com/thesteve0/openshift-mongo-spatial-jee6/blob/master/pom.xml
364 2022-07-19
编程技术问答社区