草庐IT

xml - 接口(interface) EJB - 使用 JAXB 接口(interface)的 XML

我试图将XML模式添加到现有的EJB项目中。JAXB用于将XML模式绑定(bind)到Java类。因为我们将在EJB处于session中时使用搜索引擎通过DTO进行爬网。我找不到任何将实体类文件映射到XML模式的直接方法。到目前为止,我们唯一可以实现的方法是创建Web服务,生成生成xml-schema(XSD)的WSDL,然后通过JAXB(xjc命令)解析XSD文件以创建java类文件。现在使用mapping-binding.xml文件我们可以映射XML和Java类文件。但现在的问题又是如何将其映射到实体类。这就是我们想要实现的:具有XML架构的XML数据对象(这已存在于JAXB规范中

java - Maven ejb-client 生成依赖排除

我们有一个解决方案,其中我们的UI项目通过使用EJB客户端依赖项来包含大量业务服务。Maven上的问题在于,即使客户端.jar通常包含大约1-2个类,它们也带来了整个服务应用程序的完整依赖堆栈。这可能会变得有点丑陋,当.ear文件开始增长到50-100Mb时,并且由于不相关的依赖项偷偷进入UI应用程序,不时会出现讨厌的错误。当然,我们总是可以排除客户端的依赖关系,但是我们必须为使用这些服务的每个客户端项目编写相同的行,这是很多不必要的重复。此外,人们会想出最奇怪的错误消息并花大量时间追踪它们,然后才记得提到他们包含了一些客户端jar并且没有检查它带来了哪些额外的依赖项。例子:fi.pa

java - 将用户主体从 REST 传播到 EJB 层

我正在启动一个使用RESTapi的应用程序,它调用JBossWildfly(RestEasy)上的EJB层。REST服务在调用ejb层的war中。我知道如何使用检查header等的RestEasy拦截器在REST上实现BASIC或任何自定义形式的身份验证。基本上就像这里描述的那样:http://howtodoinjava.com/2013/06/26/jax-rs-resteasy-basic-authentication-and-authorization-tutorial/现在的问题是-这只是对RESTfacade的检查。在EJB层内部,我不知道针对REST服务进行身份验证的用户。

java - NameNotFoundException 在生产 JBoss 中对远程 EJB 执行 JNDI 查找(在本地工作)

一个应用程序(例如app.EAR)被部署到我自己机器上的JBoss并且工作正常。当我将它部署到远程JBoss时,它被部署了,但是当我尝试访问需要对远程EJB进行JNDI查找的功能时,我得到NameNotFoundException。因此,它似乎无法找到请求的服务。怎么会?如果它在本地有效?与远程EJB接口(interface)的依赖关系在EAR中的lib文件夹中,当然是用@Remote注释的。JBoss与生产环境完全相同(我将整个JBoss从生产环境复制到我的机器上,以检查是否缺少任何配置)。我的查找代码是这样的:privateObjectlookup(StringresourceNa

java - 如何在 CXF 拦截器上下文中使用 @Inject 或 @EJB?

有没有办法在CXF拦截器中使用@Inject或@EJB?我知道我仍然可以执行JNDI查找,但我宁愿避免它。我觉得很奇怪,JAX-WS处理程序是受管理的,但CXF拦截器不是。有没有可能让他们管理?我正在使用注释将我的拦截器添加到端点(@org.apache.cxf.interceptor.InInterceptors和@org.apache.cxf.interceptor.InInterceptors),可以用配置文件处理吗?配置:Java6JBossEAP6.1(AS7.2)CXF2.6.6 最佳答案 我已经在CDI1.1的帮助下进

java - 在有状态的 ejb 扩展中通过查找找到的 JPA 实体不受管理

我以为em.find找到的一个entity是em自动管理的,连出一个事务,但是下面的这个class好像相反。是我错了还是那堂课有什么错误?@Stateful@TransactionAttribute(NOT_SUPPORTED)publicclassCustomerGateway{@PersistenceContext(unitName="customersPU",type=EXTENDED)privateEntityManagerem;privateCustomercustomer;publicCustomerfind(Longid){//customerisnotmanaged!t

java - 在实体 Bean 中使用无状态 EJB bean

显然,在实体bean中使用无状态EJBbean有异味,但请考虑以下场景,如果您知道更好的解决方案,请告诉我:我有一个InvoiceTemplate实体Bean,字段为NextInvoiceDate生成NextInvoiceDate是一个复杂的过程,应该在InvoiceTemplate类之外执行NextInvoiceDate应在每次InvoiceTemplate存储到数据库时更新现在我有关于@PrePersist@PreUpdate实体中NextInvoiceDate生成的逻辑InvoiceTemplate实体bean。逻辑越来越复杂,我想把它移到InvoiceTemplate实体bea

java - 反序列化无状态 EJB 时是否应用 @Resource 注释?

当EJB被反序列化时,是否在方法上应用了@Resource注释?我有一个由容器保留的EJB计时器,我想知道在反序列化EJB时是否会再次注入(inject)transientTimerService(它不可序列化)。 最佳答案 也许这篇文章有帮助:无状态sessionBean:无状态sessionEJB在创建时注入(inject),并在其整个生命周期内保留其资源。StatefulSessionBean:依赖注入(inject)似乎只发生在创建时。无论如何,在激活之后,将调用@PostActivate回调处理程序,您可以在其中恢复tra

java - 在 EJB 环境中是否存在类似于 .wait() 和 .notify() 的行为?

我知道我不能修改EJB容器中的线程,因此我不知道如何在EJB环境中以正确的方式执行以下操作:涉及:无状态sessionBean“客户端”无状态sessionBean“服务器”消息队列“队列”处理来自“队列”的消息的消息驱动Bean“Mdb”n个无状态sessionBeanW1到Wn场景是:客户端调用服务器的方法,后者又将多个消息发送到队列。之后,Server会做一些其他的事情。与此同时,Mdb消费一条消息,调用Wi进行一些相当长的计算,并获得结果。现在Mdb将结果提供给Server。当Server获得了它发送的每条消息的所有“结果”时,它会对来自W的结果进行更多计算,并将该结果返回给C

java - EJB3 企业应用程序作为门户和客户端 Web 应用程序 - 架构/设计

如上图所示,我有一个EJB-3企业应用程序(EAR文件),它充当门户并包含3个Web应用程序(WAR文件),它们与同一个数据存储进行通信和交易。这3个Web应用程序不是Portlet实现,而是通过企业应用程序的持久层与数据存储交互的普通Web应用程序。这些网络应用程序是独立开发的,因此,其中一些使用来自企业应用程序的Web服务,一些使用EJB客户端。此外,还有一个替代这些webapps(WebApp1、WebApp2和WebApp3)并使用独立的企业应用程序与数据库进行通信和交易的另一种选择,如下所示:现在,我的问题是:1)列出的2个选项(以上)中最好的选项是什么?2)当我们将那些充当