问题标签 [glassfish-4.1]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4001 浏览

java - 在 GlassFish 4.1 中升级 Jackson

我正在使用 GlassFish 4.1,其中包括 Jackson 2.3.2。

我想升级到最新版本的 Jackson(当前为 2.4.4)。

在 GlassFish 4.1 中升级 Jackson 的过程是否简单如下:

a) 停止 GlassFish

b) 删除 osgi-cache

c) 用更新的版本替换 glassfish/modules 目录中的 Jackson 2.3.2 jar

d) 启动 GlassFish

谢谢。

0 投票
1 回答
2251 浏览

rest - Jersey JAX-RS Glassfish 4 抛出 java.lang.IllegalStateException

我正在创建一个简单的 RESTful 服务

这本书是简单的 JPA 实体

//只是给出一个相关的代码。有getter/setter和构造函数

我在 Glassfish 4.1 上使用 Maven 部署服务 我正在使用 Jersey Container 2.13 Hibernate 4.3.5 Final Mysql 5.1

当我尝试使用 cURL 创建一本书时,如下所示

它抛出以下异常。

[还有另一个与此类似的问题,但我做了与答案中给出的完全相同的事情,但我仍然得到了例外。另外,我已经浏览了https://java.net/jira/browse/JERSEY-2241但它似乎处于解决状态,分辨率无法重现。]

有人能帮帮我吗。

编辑1

正如@HankCa 所建议的,我已从无状态注释更改为 RequestScoped 注释。它现在抛出以下异常。

不知道为什么会出现这个异常,因为它已经在持久化上下文中。

编辑2

@HankCa 建议我进行以下更改。

已移除

并将方法签名更新为

该服务按预期工作。感谢汉克卡的帮助。

0 投票
1 回答
1253 浏览

java - 使用 auth-method=CLIENT-CERT 时如何避免在 glassfish-web.xml 文件中添加主体?

我刚刚开始为 Glassfish 4.1 编写一个 Web 应用程序,并且开始处理安全问题。

访问应用程序的用户将使用客户端证书来识别他们自己。我创建了一个自签名的根 CA。将此根 CA 添加到domain-dir /config/cacerts.jks。创建客户端证书,使用根 CA 对其进行签名并将其添加到我的 Web 浏览器。

网页.xml:

glassfish-web.xml:

这可行,但我不想在 glassfish-web.xml 中为每个新用户添加一个主体名称。我想从数据库中获取该信息以及每个用户的组信息。

我已经研究并尝试编写我自己的扩展com.sun.appserv.security.AppservRealm的领域。我已经以正确的方式添加了领域,但只有当我将 web.xml 中的 auth-method 设置为BASIC时才能使用它. 使用CLIENT-CERT将忽略领域名称元素:

在第二种情况下,将使用预定义的领域“证书”。并且使用BASIC显然不会使用客户端证书。

还有另一种方法,那就是修改domain-dir /config/domain.xml 并替换

但这也无济于事。我在日志中收到以下警告:“证书身份验证需要证书领域。” 谷歌搜索告诉我,使用的领域必须是 CertificateRealm 的一个实例,我认为它的意思是com.sun.enterprise.security.auth.realm.certificate.CertificateRealm,但该类是最终的,所以我不能扩展它。

除了 glassfish-web.xml 之外,没有办法让您的主体及其组定义在其他地方吗?我应该放弃 Glassfish 并使用其他东西,比如 JBoss 吗?

编辑 2015-03-31:

问完这个问题后不久,我尝试了 Jetty,并在那里我设法做我想做的事。我什至能够将 CLIENT-CERT 身份验证与 FORM 身份验证相结合,如果客户端不提供有效证书,用户将被重定向到基于表单的登录页面,并且可以使用用户名对自己进行身份验证和密码。

然后在身份验证时将角色添加到用户,以便 Jetty 可以控制对资源的访问。

如果可以在 CLIENT-CERT 模式下在 Glassfish 中控制对用户的角色分配,而无需将每个用户添加到 glassfish-web.xml,但能够从例如数据库中提取此信息,并允许 Glassfish控制对资源的访问仍然是一个有效的问题。但我并不急于得到答复。

0 投票
1 回答
2898 浏览

jakarta-ee - GlassFish 4.1 启动警告:找不到 javax.ejb.PostActivate 和 javax.ejb.PrePassivate

每当我启动 GlassFish 4.1 时,我的 GlassFish 日志中都会收到以下两个警告:

然而,这两个引用的类都在glassfish/modules/javax.ejb-api.jar.

有没有办法修复/防止这些警告?

0 投票
1 回答
415 浏览

jpa - EclipseLink 反序列化远程 EJB 调用上的空实体对象

我正在使用当前版本的 GlassFish 4.1,其中包含 EclipseLink 版本 2.5.2。在这个 GlassFish 中,我部署了一个企业应用程序和一个 Web 应用程序。如果从 GlassFish 外部(如外部 JavaFX 应用程序)调用返回已加载实体的 EJB,则会正确返回实体。

但是,如果从 Web 应用程序调用相同的 EJB,由于此错误GLASSFISH-17432 ,实体不会正确返回。

我已经在这里找到的解决方法Calling Remote EJB in EJB 3.1并不能真正解决这个问题,因为如果我在 EclipseLink 中禁用编织,以下操作将无法正常工作:

0 投票
0 回答
822 浏览

jakarta-ee - 通过 NetBeans 部署但无法访问的 Web 应用程序

我有 NetBeans 8.0.2 和 GlassFish 4.1。我在 NetBeans 7 和 GlassFish 3 中做了一个应用程序。

当我部署我的应用程序时。我没有任何错误,我可以看到我的应用程序部署在管理控制台中,但是当我尝试在浏览器中访问我的应用程序时,我有一条消息显示:

请求的资源不可用。

我能做些什么?

谢谢

编辑 1

我现在在 OSx 中工作...但是我将完全相同的配置放在带有 Window 8 的虚拟机中,并且可以正常工作!!!!我还尝试将在 Window 中创建的 WAR 放入 OSx 中的 glassfish 并且还可以工作!!!所以我很确定这不是我的代码或 glassfish 的问题!可能是 Netbeans(但我尝试重新安装 3 次!!)或者 OSx 中的一些规则?你有什么主意吗 ???它可能是什么?

编辑 2

我知道我的 JAR 不满足包 org.netbeans.rest.application.config 的内容,这就是问题所在......有人知道如何解决这个问题吗?

谢谢你

0 投票
0 回答
421 浏览

jsf - 在 GlassFish 4.1 中运行的 JSF 中的 AJAX 请求

在 JSF 应用程序中存在这个问题:

该应用程序在 a 中包含一些启用的元素t:dataTablef:ajax如下所示:

“一些命令”应该做一些事情并只刷新“someTable”。

现在的问题是:这种情况在GlassFish 3.1.2下工作,但在GlassFish 4.1下存在以下问题:

“某些命令”可以完美运行,并且可以毫无问题地更新 someTable,但在 someTable 之外(或在 Table 内部)没有其他非 ajax 操作元素有效。它们起作用,但不显示它们的作用,因此当我们刷新页面时,更改就会出现。

现在,我尝试将 AJAX 制作如下:

一切似乎都运行良好。

我只需要更新表格,而不是整个表格。

有没有人有解决方案(web.xml 配置)或一些提示?

该项目中没有使用 PrimeFaces/ICEFaces/RichFaces。

谢谢

编辑:名称是正确的(没有 : 作为前缀或其他任何内容)。完全相同的场景在 GlassFish 3.1 下完美运行。我们是否需要查看一些安全设置或其他配置?

EDIT2:正如@Tiny 在他的评论中所说,没有multipart/form-data它的工作,但我们无法进行任何上传。上传不再起作用。

0 投票
2 回答
6039 浏览

deployment - 在 localhost [domain 1] 上发布到 GlassFish 4 遇到了 ....,无法部署 abconlinetest

我不知道如何解决这个问题:**在修改一些 Glasfish 提供合理错误消息的代码后,我收到了这条无用的消息:“在 localhost [域 1] 上发布到 GlassFish 4 遇到问题,无法部署 abconlinetest”任何其他扩展。即使删除我的更正以强制 Glassfish 产生旧的错误消息也是不可能的。Glashfish 坚持这条信息。我过去多次收到此消息,并且总是从头开始逐步设置应用程序以进入稳定的环境。

以下是来自 GlashFish 的启动消息。

Glassfish 总是停止在:2015-01-16T18:54:02.309+0100|信息:HV000001:Hibernate Validator 5.0.0.Final然后出现 glassFish 无法部署应用程序的消息。

应用程序使用 JSF 2.2 将两个公式的内容写入 Oracle 数据库。

100|信息:运行 GlassFish 版本:GlassFish Server Open Source Edition 4.1(内部版本 13)2015-01-16T18:53:56.909+0100|信息:服务器日志文件正在使用格式化程序类:com.sun.enterprise.server.logging。 ODLLogFormatter 2015-01-16T18:53:56.987+0100|信息:类类型 [com.sun.enterprise.security.auth.realm.file.FileRealm] 的领域 [admin-realm] 已成功创建。2015-01-16T18:53:56.987+0100|信息:类类型 [com.sun.enterprise.security.auth.realm.file.FileRealm] 的领域 [文件] 已成功创建。2015-01-16T18:53:56.987+0100|信息:类类型 [com.sun.enterprise.security.auth.realm.certificate.CertificateRealm] 的领域 [证书] 已成功创建。2015-01-16T18:53:57.159+0100|信息:授权服务已成功初始化。2015-01-16T18:53:57。15 开始于:15ms - 绑定到 [/0.0.0.0:7676] 2015-01-16T18:53:57.753+0100|信息:注册 com.sun.enterprise.glassfish.bootstrap.osgi.EmbeddedOSGiGlassFishImpl@3b0ee03a 作为 OSGi 服务注册:org.apache.felix.framework.ServiceRegistrationImpl@2bf94401。2015-01-16T18:53:57.753+0100|信息:将 RMI 端口绑定到单个 IP 地址 = 127.0.0.1,端口 8.686 2015-01-16T18:53:57.800+0100|信息:JMXStartupService 已在 JMXService URL 服务上启动 JMXConnector :jmx:rmi://127.0.0.1:8686/jndi/rmi://127.0.0.1:8686/jmxrmi 2015-01-16T18:54:02.309+0100|信息:HV000001:Hibernate Validator 5.0.0.Final EmbeddedOSGiGlassFishImpl@3b0ee03a 作为 OSGi 服务注册:org.apache.felix.framework.ServiceRegistrationImpl@2bf94401。2015-01-16T18:53:57.753+0100|信息:将 RMI 端口绑定到单个 IP 地址 = 127.0.0.1,端口 8.686 2015-01-16T18:53:57.800+0100|信息:JMXStartupService 已在 JMXService URL 服务上启动 JMXConnector :jmx:rmi://127.0.0.1:8686/jndi/rmi://127.0.0.1:8686/jmxrmi 2015-01-16T18:54:02.309+0100|信息:HV000001:Hibernate Validator 5.0.0.Final EmbeddedOSGiGlassFishImpl@3b0ee03a 作为 OSGi 服务注册:org.apache.felix.framework.ServiceRegistrationImpl@2bf94401。2015-01-16T18:53:57.753+0100|信息:将 RMI 端口绑定到单个 IP 地址 = 127.0.0.1,端口 8.686 2015-01-16T18:53:57.800+0100|信息:JMXStartupService 已在 JMXService URL 服务上启动 JMXConnector :jmx:rmi://127.0.0.1:8686/jndi/rmi://127.0.0.1:8686/jmxrmi 2015-01-16T18:54:02.309+0100|信息:HV000001:Hibernate Validator 5.0.0.Final

0 投票
1 回答
2884 浏览

eclipse - eclipse luna 上的 glassfish 在服务器根目录中指定什么?

我使用的是 Mac,并通过 Eclipse Marketplace 下载了 Glassfish。当我去尝试创建一个新服务器时,它会询问服务器根目录,但我不确定在此处指定什么,因为我是通过 Marketplace 安装它的。

0 投票
0 回答
229 浏览

installation - 为什么 glassfish 4.1 的自解压包不可用?

这很重要,因为它是为静默模式安装创建答案文件的唯一方法。