标签: java-ee-6

在jdk中找不到javax.ws.rs包

我正试图进入JAX-RS.我的项目jdk设置为1.7.03.是否必须为JAX-RS(javax.ws.rs)定义注释?如果没有,我可以在哪里找到它们?

java jax-rs java-ee-6

27
推荐指数
3
解决办法
6万
查看次数

JCA 1.6 ResourceAdapter是否需要ManagedConnectionFactory?

我以前写了一个JCA资源适配器.

然而,现在我发现自己处于一个不得不单独写一个来访问BootstrapContext它及其相关的位置WorkManager,并且没有其他原因.

如果我正确地阅读了规范 - 这就是我的问题 - 看起来如果我希望有人能够以符合规范的方式使用我的资源适配器,我仍然需要实现ManagedConnectionFactory,因为它看起来只是按ManagedConnectionFactory实现方式提供的用户连接工厂可通过@Resource注释进行注入.

来吧,再看一遍; 我会等.:-)

在一个完美的世界中,我想编写我的ResourceAdapter实现,注释它@Connector,指定所有@ConfigProperty位,将其打包在一个.rar文件中,并完成它.

但是,在我看来,规范有效地强制要求消费者(在我的情况下是无状态EJB)和资源适配器模块之间的所有通信都应该通过用户连接工厂来完成.

例如,第6.10.1节说:

资源适配器必须提供以下接口的实现:

  • javax.resource.spi.ManagedConnectionFactory
  • javax.resource.spi.ManagedConnection
  • javax.resource.spi.ManagedConnectionMetaData

但是第18节 - 关于注释的部分 - 似乎没有规定以任何有意义的方式强制执行.

确实如此吗?我想它一定是,但我很想听听那些组装了1.6资源适配器的人.

java jca java-ee java-ee-6

26
推荐指数
1
解决办法
3090
查看次数

Java EE 6:切换到CDI - 最佳资源

我手头有一个小而完整的Java EE 6应用程序.

传统的注释正在使用: @Resource,@EJB,@Singleton,@PostConstruct,@PreDestroy,@PersistenceContext,@ManagedBean,@ManagedProperty,@RequestScope,@ApplicationScope,...

我想评估是否有必要引入CDI,并标准化依赖注入,bean生命周期管理等的通用策略.

问题:有没有人知道将传统Java EE 6注释转换为CDI注释的好文章,示例或手册?

dependency-injection java-ee cdi java-ee-6

25
推荐指数
1
解决办法
9164
查看次数

应该在哪里放置beans.xml?

我刚刚从7.0升级到NetBeans 7.1.在打开一个JSF托管bean时,它"帮助"告诉我它找不到我的beans.xml文件,所以我喜欢它为我创建.我知道我在WEB-INF下有一个beans.xml文件,但我还是说是的,看看发生了什么.我为META-INF创建了一个新的beans.xml.

以为我犯了一个错误,我删除了WEB-INF下的文件只是为了让我的应用程序在启动时失败.将beans.xml放回WEB-INF修复了这个问题.这个页面似乎认为这两个位置都是有效的:http://seamframework.org/Documentation/WhatIsBeansxmlAndWhyDoINeedIt

那么,问题是beans.xml在WEB-INF或META-INF中应该存在哪个文件夹?

我正在运行GlassFish 3.1.1和Java 7

java-ee-6 glassfish-3

25
推荐指数
1
解决办法
2万
查看次数

java.lang.ClassFormatError:在类文件javax/mail/MessagingException中非本机或抽象的方法中的Absent Code属性

我对javaee Bibliothek有一个maven依赖.

<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-api</artifactId>
    <version>6.0</version>
    <scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)

我在某些类中遇到了Eclipse中的错误.

java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/mail/MessagingException
Run Code Online (Sandbox Code Playgroud)

我添加了javax.mail依赖项.

<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4.5</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

它没有用.任何的想法??

java java-ee maven java-ee-6

24
推荐指数
2
解决办法
5万
查看次数

Java CDI @PersistenceContext和线程安全

在muliple类threadsafe中,EntityManager @Inject [ed]如下所示?

@PersistenceContext(unitName="blah")
private EntityManager em;
Run Code Online (Sandbox Code Playgroud)

这个问题和这个问题似乎是针对Spring的.我正在使用Jave EE CDI服务

java cdi java-ee-6

23
推荐指数
3
解决办法
9625
查看次数

是否可以在应用程序代码之外配置EJB 3.1 @Schedule?

如何配置计划间隔:

@Schedule(persistent=true, minute="*", second="*/5", hour="*")

在应用程序代码之外?

  1. 如何在ejb-jar.xml中配置它?
  2. 我可以在应用程序之外配置它(属性文件的种类)吗?

java schedule java-ee-6 ejb-3.1

22
推荐指数
2
解决办法
1万
查看次数

在Web应用程序中引用jpa persistence.xml中的jar文件的正确途径是什么?

persistence.xml看起来像这样:

<persistence-unit name="testPU" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <non-jta-data-source>jdbc/test</non-jta-data-source>
    <jar-file>../../lib/app-services-1.0.jar</jar-file>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
</persistence-unit>
Run Code Online (Sandbox Code Playgroud)

它是一个Web项目,因此部署单元是一个war文件.我试图引用的jar文件在WEB-INF/lib /文件夹中,persistence.xmlWEB-INF/classes/META-INF文件夹中.部署时,它只是告诉我

"警告:无法找到文件(忽略):file:.../../lib/app-services-1.0.jar".

我也试过,我能想到的,即每一个可能的路径../lib/app-services-1.0.jar,LIB /应用服务-1.0.jar.

这样做的正确途径是什么?

persistence hibernate jpa war java-ee-6

22
推荐指数
3
解决办法
3万
查看次数

Weld/CDI最好的调试技巧是什么?

Java EE 6的一个优点是新的依赖注入框架 - 带有Weld参考实现的CDI - 它促使我们以一种与实现无关的方式开始内部迁移到JSR-330,其明确的目标是能够拥有核心jar被冻结,然后能够添加额外的罐子,提供新的模块替换核心jar中的功能.

我现在正在与Weld一起完成上述工作,坦率地说,封面背后有太多的魔力.无论是工作还是不工作,默认情况下它不会提供很多帮助,因此您可以调查错误并修复它.

我希望有切换开关可以轻松实现以下功能:

  • 扫描了哪些类路径条目以及在哪里?结果是什么?
  • 什么豆类可供注射哪一类?
  • 是什么导致给定的bean以后不被考虑?一个给定的罐子?

换句话说,我需要更详细地看待决策过程.出于某种原因,Guice并不需要这样做,也许是因为魔法少得多,也许是因为错误消息非常好.

您如何调试Weld应用程序,以及它有多大帮助?

java jsr330 cdi java-ee-6 jboss-weld

22
推荐指数
3
解决办法
7618
查看次数

避免在glassfish上删除计时器

我有一个用@Schedule注释的方法,偶尔会被容器调用.

@Schedule(second = "*/5", minute = "*", hour = "*", persistent = false)
public void myTimerMethod() throws Exception {
    ...
}
Run Code Online (Sandbox Code Playgroud)

问题是在某些条件下,我希望此方法抛出异常以使正在进行的事务回滚.但如果我这样做超过两次,计时器将被清除,不再被调用!

INFO: EJB5119:Expunging timer ['68@@1359143163781@@server@@domain1' 'TimedObject = MyBean' 'Application = My-War' 'BEING_DELIVERED' 'PERIODIC' 'Container ID = 89072805830524936' 'Fri Jan 25 21:49:30 CET 2013' '0' '*/5 # * # * # * # * # * # * # null # null # null # true # myTimerMethod # 0' ] after [2] failed deliveries
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用在domain.xml中配置计时器重新安排

<domains>
    ...
    <configs>
        <config> …
Run Code Online (Sandbox Code Playgroud)

java glassfish java-ee-6 ejb-3.1

22
推荐指数
2
解决办法
7467
查看次数