问题标签 [glassfish-4]

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 投票
0 回答
433 浏览

jms - 使用 Java EE 7 和 Glassfish 4.0 注入 JMS 资源时遇到问题

我试着用

在 Glassfish (4.0) 中运行的应用程序中实例化 JMS 内容。

我通过 NetBeans (7.4rc1) 向导创建了这些资源,并看到他们使用此连接器资源在 /setup/ 中创建了 glassfish-resources.xml。我根据 Glassfish 的asadmin list-jms-resources命令(以及基于 Web 的管理页面)验证了资源是否可用。

但是每当我尝试访问我的应用程序中的这些字段时,它们都是null

我看到在 eclipse 中运行应用程序时可能会发生这个问题(在 eclipse中运行 jms 示例时资源注入不起作用。)但是我从 NetBeans 启动我的应用程序(它会自动启动集成的 Glassfish 并带来 - 我想 - 一切都出来了 -开箱即用)。

我还看到使用 @Resource 使用 Java EE 6 和 Glassfish 3.1 注入资源时遇到问题,但经过交叉检查,查找名称已经正确。

其他提示我必须注意什么才能使 JNDI 查找工作?

0 投票
3 回答
2359 浏览

jms - JMS 2.0:主题上的 Shared-Durable-Consumer 与队列上的异步消费者;参考。GlassFish 4.0 官方文档/javaee-tutorial Java EE 7

参考:官方 GlassFish 4.0 文档/javaee-tutorial Java EE 7

首先,让我们从目标类型开始:主题。根据 GlassFish 4.0 教程,“<strong> 46.4 编写高性能和可扩展的 JMS 应用程序”部分:

本节介绍如何使用 JMS API 编写能够稳健地处理大量消息的应用程序。

在“<strong> 46.4.2 使用共享持久订阅”小节中:

SharedDurableSubscriberExample.java 客户端展示了如何使用共享持久订阅。它展示了共享持久订阅如何将持久订阅的优点(当客户端不活动时订阅保持活动状态)与共享消费者的优点(消息负载可以在多个客户端之间分配)相结合。

当我们按照“<strong> 46.4.2.1 To Run the ShareDurableSubscriberExample and Producer Clients ”运行此示例时,它为我们提供了与前面关于目标类型队列示例相同的效果/功能:如果我们遵循“<strong> 46.2. 6.2 运行异步消费者和生产者客户端”,从第 5 点开始——并使用 2 个消费者终端窗口和 1 个生产者终端窗口稍微修改它。

是的,“<strong> 45.2.2.2 Publish/Subscribe Messaging Style ”部分确实提到:

JMS API 通过允许应用程序创建持久订阅,在一定程度上放宽了这一要求,这些订阅接收在消费者不活动时发送的消息。持久订阅提供了队列的灵活性和可靠性,但仍允许客户端向多个收件人发送消息。

.. 无论如何,“<strong> 46.4 编写高性能和可扩展的.. ”部分都是队列样式的示例——每个消费者一条消息:

添加到主题订阅的每条消息仅由一个消费者接收,类似于添加到队列的每条消息仅由一个消费者接收的方式。

什么是精确的技术答案:为什么在这个例子中,在主题上使用 Shared-Durable-Consumer 应该是,并在“<strong>高性能和可扩展 JMS 应用程序”与使用异步-队列中的消费者?

0 投票
1 回答
750 浏览

jakarta-ee - 使用 GF4 完整配置文件时,“在以 Java EE 7 Web Profile 为目标的项目中不允许使用持久计时器”

我将 Java EE 应用程序迁移到 Java EE 7,但 ejb 计时器无法正常工作。当我使用 @Schedule 注释时出现错误,我使用的是 JDK 7 和 Glassfish4,此外我使用的是 Glassfish4 完整平台,因此 IDE 警告我“在以 Java EE 7 Web Profile 为目标的项目中不允许使用持久计时器”我重复一遍,100% 确定我使用的是 Glassfish4 Full Platform。

0 投票
1 回答
666 浏览

glassfish - glassfish 是否支持 jvm args 中的密码别名?

我正在尝试使用别名密码作为 jvm arg,但别名密码似乎没有提供给 Web 应用程序。这是我的 domain.xml 配置:

但是,尝试检索密码只会返回 null

我尝试过:GlassFish Server Open Source Edition 3.1.2.2 (build 5)

网上搜了一下好像有人遇到过类似的问题

问题: glassfish 是否支持 jvm args 的密码别名?

0 投票
1 回答
761 浏览

jpa - 如何在没有分布式事务的情况下使用 JPA 将相同的对象保存到两个不同的数据库?

我想将相同的实体持久保存到 MySQL 数据库和 Postgres 数据库(本质上是另一个的实时克隆)。从概念上讲,我想用一种方法来做到这一点:

该类为其字段MyEntity指定了一个@GeneratedValue策略,两个数据源都是非XA数据源。IDENTITY@Id

JPA/JTA 似乎想在分布式事务中执行此操作,我认为这是由于如何为容器管理的事务确定事务边界,并且由于数据源是非 XA 而出现错误。我可以将数据源定义为 XA 源,因此上述内容可用作分布式事务,但对于即时需要,这确实是不必要的。我真的不在乎这两个持久化是在同一个事务中——事实上,如果一个失败而另一个成功,那也很好(至少现在是这样)。

有没有办法将同一个对象持久化到具有非 XA 数据源的多个数据库中,并且仍然使用容器管理的事务?相关,如果我想在一个方法中对多个对象和多个数据源进行一系列持久化,有没有办法用非 XA 数据源做到这一点?我将 EclipseLink 与 GlassFish 4.0 一起使用。

0 投票
1 回答
267 浏览

jaxb - glassfish v4 MOXy Provider中如何指定和组织OXM_METADATA_SOURCE?

我是 Glassfish 和 MOXy 的粉丝,MOXy 已被捆绑到 Glassfish v4 中对我来说是个好消息。

我在互联网上阅读并尝试了一些 MOXy 示例,我喜欢动态 OXM_META_DATA_SOURCE 部分,因为在提供 RESTful 服务的同时,“客户端视角”比域类非常灵活。

所以这里是问题:

不同的 RESTful 服务可以从相同的域类中获得不同的视图,在我的工作中这是非常常见的情况。因此,每个服务都可能有很多绑定 OXM 元数据文件。我们知道,一个 OXM 元数据文件只能对应一个 java 包。所以会有更多的 OXM 元数据文件需要维护。

回到 JAX-RS,是否有任何框架来设计模式或最佳实践来完成 OXM 元数据文件集和服务本身之间的映射?

0 投票
1 回答
1409 浏览

java - 为什么 Glassfish 拒绝我在 Netbeans 7.3.1 下的所有身份验证工作?

我正在使用 Glassfish 4.0、Netbeans 7.3.1。

我在我的项目中添加了新服务器,它创建了默认域 - domain1。
Glassfish 广告说我可以使用“匿名”登录和空密码来登录。
我在 stackoverflow.com 上遇到了默认登录名是 admin,密码是 adminadmin 的问题。

我创建了简单的 facelet,带有表单操作 -POST查询(spring-security authentification action,j_security_check)当我按下提交按钮Glassfish 强制我输入登录名和密码

我尝试了所有版本 - admin/adminadmin、anonymous/{empty password}。我还尝试在 netbeans 的服务器选项卡中更改服务器参数(用户名、密码) - 默认情况下它们是空的。我用 admin/adminadmin 和 anonynous/{empty} 填充它们 - 不起作用。

谁能告诉我为什么 glassfish 拒绝我所有的登录努力,即使我尝试了所有默认或广告变体?我还注意到有时 Glassfish 只能启动一次的奇怪行为。为了第二次启动它,我不得不将 domain1 文件夹中的 domain.xml 文件更改为预先保存的“清除”文件。

0 投票
1 回答
4084 浏览

eclipse - 安装后我无法将 Java EE SDK 包含在我的项目中

我在这里头晕目眩!

我从这个链接 下载了Java EE 7 SDK http://www.oracle.com/technetwork/java/javaee/downloads/java-ee-sdk-7-downloads-1956236.html

在安装过程中。我被迫安装GlassFish。与Java SE安装不同,我无法选择Java EE库的位置!

现在我只剩下GlassFish了!我知道我迟早必须将我的应用程序部署到应用程序服务器中,但我只需要将Java EE库包含到我的 Eclipse java 项目中(甚至不是 eclipse web 项目。我使用ant组装我的WAR)。

我相信我可以继续在我的Run-Jetty-Run(从 Eclipse 运行码头的Eclipse插件)中包含Java EE库,运行配置类路径,并毫无问题地启动我的应用程序。

所以我的问题是:

  • Java EE SDK 文件在哪里?!?!//在答案的评论中回答
  • 为什么我被迫使用 GlassFish?//下面回答
  • 我在这里有什么误解吗?我是否正确理解我可以在我的应用程序的类路径中包含 Java EE 库,它在任何 servlet 容器中运行并且午餐我的应用程序没有任何问题?//下面回答
  • 我下载了 GlassFish服务器适配器。配置了服务器,但是当我尝试包含GlassFish的运行时库时,我找不到任何配置的服务器运行时库!检查所附图片。//在答案的评论中回答
  • 是否仍然可以使用 ant 组装 WAR 文件,无需库,并通过Eclipse在GlassFish上运行它?//下面回答

我正在尝试用最少的抽象来做事情,以了解更多并了解真正发生的事情。这就是为什么我更喜欢使用来自常规Eclipse java 项目而不是动态 Web 项目的ant来组装我的WAR文件。

在此处输入图像描述

0 投票
1 回答
529 浏览

web - 使用 SIGAR 从 Web 应用服务器 (glassfish4) 获取 oracle 进程信息

我一直在使用 sigar 开发网络监视器来收集系统信息,但现在我需要获取 Oracle 的 RAM 和 CPU 使用情况。我使用 sigar.getProcCpu(pid).getTotal() 函数做到了。

但是当我在 glassfish 4 上部署应用程序时,我收到错误消息:org.hyperic.sigar.SigarPermissionDeniedException:访问被拒绝。

有什么解决方法吗?我可以让 sigar 访问我请求的信息吗?

0 投票
2 回答
314 浏览

jsf-2 - WELD-001408 & ValidationInterceptor & Glassfish 4.0x & EAR & CODi 无法部署?

我正在将我们的 JSF/Primefaces 3.5.x GF 3.1.1 应用程序迁移到 GF 4.0。它是一个带有战争的 EAR,一个 EJB-jar 和充满 jar 的库。

WAR 有 WEB-INF/lib 有:

'org.apache.myfaces.extensions.cdi.core:myfaces-extcdi-core-api:1.0.5', 'org.apache.myfaces.extensions.cdi.core:myfaces-extcdi-core-impl:1.0.5 ',
'org.apache.myfaces.extensions.cdi.modules:myfaces-extcdi-jsf20-module-api:1.0.5', 'org.apache.myfaces.extensions.cdi.modules:myfaces-extcdi-jsf20-module -impl:1.0.5',

除了 PF 的东西和 Omnifaces 和其他一些依赖项(codi messages api & impl 也包括在内——必须是传递的 dep)。注意: WAR 中没有 CODi Validation 内容,也没有任何 hibernate jars

EAR Lib 也有一堆罐子——它不复制 CODi 的东西并省略 PF,它确实包括一些 spring 和 velocity 的东西、apache commons 和其他一些东西——再次没有 CODi 验证器的东西或 hibernate 的东西。

部署时我得到:

我已经看到了与此相关的另外 2 个 SO 帖子:

WELD-001408 类型 [Validator] 的依赖关系不满足

&

CDI / Weld Unsatisfied dependencies proglem

两者都没有说明问题,因为两者都表明 CODI 验证器是问题的根源——但我的部署单元(或 EAR)中根本没有这个。

有没有办法解决这个问题?

切换到 DeltaSpike(和/或 OS890 codi DS 组合)不是一个直接的选择;也不用ee7。我需要尝试让它与尽可能少的代码更改一起工作。

有任何想法吗?