问题标签 [payara]

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 回答
1051 浏览

spring - 在 Payara Glassfish 上部署 Spring Boot

我正在尝试在 Payara Galssfish 服务器上部署我的 Spring Boot 应用程序。但是我在部署过程中遇到了这个错误。

创建名为“systemConfigDao”的 bean 时出错:bean 初始化失败;嵌套异常是 java.lang.LinkageError:加载程序约束违规:加载程序(org/apache/felix/framework/BundleWiringImpl$BundleClassLoaderJava5 的实例)先前为名为“javax/cache/configuration/Configuration”的不同类型启动了加载</p >

0 投票
1 回答
2608 浏览

java - @Inject bean 到 Jersey @Path JAX-RS 资源中是否需要 bean-discovery-mode="all"?

我正在使用 Payara 4.1.1.161。我有一个 Jersey @Path JAX-RS 资源,我想做的就是使用 CDI @Inject 一个 bean。我已经尝试了很多不同的组合来让它工作,但到目前为止,我让它成功工作的唯一方法是在 beans.xml 中设置 bean-discovery-mode="all"。

我知道“带注释”是首选模式,没有 beans.xml 更受青睐。但每次我尝试使用“注释”时,我要么调用 JAX-RS 资源失败,如下所示:

或者我在部署应用程序时失败,如下所示:

这是我的应用程序设置。

豆类.xml

JAX-RS 应用程序

JAX-RS 资源

我想注入的简单bean

同样,如果我的应用程序如上面的配置所示,并且 bean-discovery-mode="all" 一切似乎都正常,并且应用程序部署没有错误,并且在调用 JAX-RS 服务时,bean 被注入没有错误。但是当我切换到 bean-discovery-mode="annotated" 或者如果我根本没有 beans.xml 文件时,事情就会变得非常糟糕。

那么,您可以在没有 beans.xml 或 bean-discovery-mode="annotated" 的情况下将 bean @Inject 到运行 Payara 4.1.1.161 的 Jersy @Path JAX-RS 资源中吗?

0 投票
2 回答
2547 浏览

glassfish - 使用 2 个实例(区域设置 + 远程)配置集群时,应用程序日志(Payara 4.1.1)不显示

我已经使用由两个实例组成的Payara Server完成了一个集群,一个是本地广告驻留在一个 debian VM 上,另一个是远程驻留在另一个 debian VM 上。我部署了一个测试应用程序,当我寻找日志时却找不到它们。更准确地说,我只提到一次几乎随机出现,然后仅此而已。它们显示在 Admin Server-->View Logs File --> instance 1(local) -->log file --> server.log中。

下面的测试应用

日志文件的图像

0 投票
0 回答
1508 浏览

jsf - 在 servlet 过滤器中注入请求范围的 bean

是否可以在 servlet 过滤器中注入(CDI)请求范围的 bean?

login.xhtml的如下 -

POST此页面上,我的 servlet 过滤器中需要Loginbean,但它始终是null. 我的后盾

以下是我将其注入过滤器的方式 -

现在从某种意义上说,容器注入了一个引用,但所有字段都是空的。我期待发布的表单数据值,即支持 bean 中提到的属性的值。

如果不可能,那么还有其他方法吗?意图是通过使用其他类型的作用域 bean 来避免创建会话。

更新-

我按照评论部分的建议做了一些更改,但问题中的 bean 的值仍然是null

我想做什么- 我有一个Login请求并LoginController查看范围 bean。这就是我最初的开始方式。因此,对于用户名和密码Login以及loginController.login登录操作。这按预期工作。我正在注入Login所有LoginController字段/ s 值。

我的要求是管理用户会话并实现记住我的功能。所以,为了做到这一点,我首先在其中创建了 cookie/s,loginController并且它起作用了。

在这里,通过上述设置 - 首先我想避免不必要的会话创建。我希望请求登陆登录页面但没有会话。这一要求是所有这些过滤器和相关返工背后的驱动力。我使出<c:view transient="true">。这我不确定,工作与否。现在,在您的一个答案中,您we should not put cookie and other authorization and authentication在支持 bean 中写了相关的内容。

所以,我对自己说 - 好吧,我没有在我的代码中遵循良好的做法,为什么不编写一个过滤器,如果我可以在那里拦截Loginbean,我应该能够在那里执行我的身份验证/授权和 cookie 相关的东西. 这样,我可以避免点击view scoped loginController并且没有不需要的会话。我可以以编程方式控制会话。这从来没有奏效,所以这就是我问这个问题的原因。

在您的一个答案中,您写道 -session creation is cheap但我仍然想在login page访问我的应用程序时避免它。

现在,我最终完成和工作的是 - 我的登录表单使用纯 html 输入字段,然后在登录操作中我以旧的 servlet 方式截取这些字段值。对于有效的尝试 - 我创建一个会话programmatically并重定向。

请让我知道我是否可以改进。

0 投票
0 回答
408 浏览

java - Java EE JDBC Realm 无法登录?

嗨,我一直在努力解决这个问题。我有一个 payara 4.1.1 应用程序服务器正在运行,我试图创建一个领域,但我无法登录到我的网页。它总是说:

我正在运行 mySql 服务器 Ver 14.14 Distrib 5.7.16。

我试图像疯子一样谷歌,但我没有更接近解决方案。

webxml

jdbcRealmconfig

0 投票
1 回答
1399 浏览

jpa - 随机找到 CDI 托管 bean

我有一个分成 3 个模块的耳朵项目:

  • 一个网络模块,
  • 一个包含我的实体的 jar 模块,
  • 一个ejb模块。

我有一个看起来像这样的类:

该类属于实体模块。

该类的一个实例是在我的@Entity 对象的@MappedSuperclass 中的@PreUpdate 挂钩中创建的。这个类(和所说的钩子)看起来像这样:

扩展此实体类的实体类与 UserServiceProviderEnterpriseImpl 类位于同一模块中。

我的问题出现在这一行:

...有时会抛出 NoSuchElementException (由 BeanManager#getBeans 方法返回的空 Set 的原因),但有时不会。这个问题似乎是部署范围的,因为我可以部署我的耳朵,这将在每次调用 getUserService() 方法时发生,但在重新部署后,相同的场景可以完全正常工作(BeanManager#getBeans 方法不返回一个空的集合了)。

所以我的问题是:为什么这段代码的行为方式是这样的?难道我做错了什么?这种随机性的来源是什么?

如果这有帮助,我的托管 bean 看起来像这样(它属于 web 模块):

我正在使用 Payara 4.1.1.162。

更新

我已经尝试过但没有用的东西:

  • 使用 application.xml 中的 initialize-in-order 标记(设置为 true)并更改模块的顺序,
  • 将 Payara 更新到可用的最新版本 (4.1.1.163),
  • 通过命令行手动部署应用程序(我通常从 IntelliJ 执行此操作),
  • 删除 BusinessObject#getUserServiceProvider() 方法中的“静态”关键字,
  • 在我更改 getUserService() 方法代码以使用此答案https://stackoverflow.com/a/40328987/7090063提供的解决方案之后,所有这一切。

根据要求,这是我唯一的 beans.xml,它位于我的 src/main/webapp/WEB-INF 目录中的 web 模块中:

这是我到目前为止提到的类的耳朵结构的总结:

这些是打包在我的war文件的WEB-INF/lib目录中的jar:

更新 2

我在 Payara 中为 org.weld.jboss 创建了一个记录器。这是我在工作时得到的:

当它没有时:

0 投票
1 回答
1313 浏览

java - 设置 arquillian.xml 和 glassfish-resource.xml

我正在关注本教程,但我在设置 jdbc 连接时遇到了一些问题。

在我的 arquillian.xml 中,我写道:

当我运行测试时,我收到此警告:

所以我认为不支持“resourceXml”......我如何告诉 arquillian 使用该文件?

此外,在那个文件中我声明了一个 jdbc/test. 我必须在persistence.xml 中写什么才能使用该数据库连接?

先感谢您

更新

我希望在“src/test/resources-payara-remote/glassfish-resources.xml”中使用我的 test-db 声明 jdbc 连接(不在远程服务器中创建 jdbc 连接),但我不知道如何将 arquillian 设置为使用 .xml 文件中声明的 jdbc 连接。

0 投票
1 回答
428 浏览

java - 出于某种奇怪的原因,我无法运行我的 JPA 代码。“长度不能为负数。”

当我尝试使用 JPA 将记录添加到我的数据库时,我遇到了这个奇怪的错误。我以前使用相同的技术在不同的表中添加其他记录。我不明白我得到的错误。

以下代码:

帮助回复实体类。

0 投票
2 回答
1983 浏览

java - Payara Micro - 部署后的 404

我想试试这个很酷的微应用服务器 - Payara Micro,但我无法部署最简单的示例。我使用没有依赖关系的 JavaEE7 从 netbeans 创建了一个空白的 web-app maven 项目。尝试编译它(编译不多),并使用 Glassfish 4.1.1 成功运行它 - 出现 Hello World 欢迎页面,一切正常。

进行了清理和构建,并尝试将生成的 WARfile 部署到 payara。(java -jar payara-micro.jar --deploy mywarfile.war) 启动很快,只注意到输出中有两条消息 - >“No META-INF/deploy”目录和“Deployed 1 archives”。试图打开索引页面,但是 oops -> 错误 404(如下所示)。

在此处输入图像描述

这个项目真的很简单,我可能在部署时做错了。也许项目结构中的一些错误?在此我介绍使用的原始项目结构:

在此处输入图像描述

非常感谢您提供任何有价值的解决方案/反馈。我想我只是忽略了一些次要的,愚蠢的事情。

编辑:附上pomfile。尝试使用两个依赖项运行它,仅使用 EE 或 payara,但没有变化:(

http://maven.apache.org/xsd/maven-4.0.0.xsd">4.0.0

0 投票
1 回答
1980 浏览

java - 调用 Post-Method 导致“405 Method not allowed”-错误

我已经在 Eclipse 和 JAVA EE 上启动了一个动态 Web 项目,并尝试编写一个安静的服务。我的操作系统是 Windows 7,服务器是 Payara。问题是,只有“GET”和“OPTIONS”被允许作为http-methods。我试图更改 web.xml 以便它接受 POST 请求

web.xml 尽管如此,仍然无法向服务器发出 POST 请求。我得到一个“405 Method not allowed”-错误。在响应头中仍然存在“Allowed: GET, OPTIONS”。除了将其写入 web.xml 文件之外,还有什么必须做的以允许服务器接受 POST 请求吗?