标签: java-ee-6

是否可以在应用程序代码之外配置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万
查看次数

EAR与单独的EJB + WAR

将应用程序部署为EAR(使用1个EJB和1个WAR模块)与单独的模块有什么区别?我想使用GlassFish 3 Web配置文件,但它不支持EAR存档.我可以简单地将EJB和WAR用作单独的模块吗?还有其他选择吗?

java ear war java-ee java-ee-6

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

如何使用Weld注入非可序列化的类(如java.util.ResourceBundle)

我想创建一个Producer,它可以将java.util.ResourceBundle注入任何类,以便轻松获取本地化的Strings.我的ResourceBundle-Producer看起来像这样:

public class ResourceBundleProducer {
  @Inject       
  public Locale locale;

  @Inject       
  public FacesContext facesContext;

  @Produces
  public ResourceBundle getResourceBundle() {
    return ResourceBundle.getBundle("/messages", locale )
  }
}
Run Code Online (Sandbox Code Playgroud)

Locale和FacesContext的注入工作(从Seam 3 Alpha Source获取相应的生产者).但不幸的是,ResourceBundle不是Serializable,因此不能以这种方式生成.当我试图访问一个调用使用我的ResourceBundle的bean的JSF页面时,我从Weld得到以下错误:

Caused by: org.jboss.weld.IllegalProductException: WELD-000054 Producers cannot produce non-serializable instances for injection into non-transient fields of passivating beans\\n\\nProducer\: org.jboss.weld.bean-/D:/Program Files (x86)/GlassFish-Tools-Bundle-For-Eclipse-1.2/glassfishv3/glassfish/domains/teachernews/applications/teachernews/-ProducerMethod-services.producers.ResourceBundleProducer.getResourceBundle()\\nInjection Point\: field web.PersonHome.bundle

有没有办法让我的ResourceBundleResolver工作?或者是否有其他机制来获得类似的功能?提前致谢!

编辑:

好的,我将花费一些我几乎没有得到的积分;)也会接受一个很好的解决方法来解决这个问题!

我有另一个例子,创建一个Producer不起作用:一个FlashProducer.还无法生成FacesContext-Flash,因为Flash不可序列化.

java-ee cdi java-ee-6 jboss-weld

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

JavaEE6 DAO:应该是@Stateless还是@ApplicationScoped?

我目前正在创建一个EJB3数据访问类来处理我的Java EE 6应用程序中的所有数据库操作.现在,由于Java EE 6提供了新的ApplicationScoped注释,我想知道我的EJB应该具有什么状态,或者它应该是无状态的.

让DAO成为@Stateless会话Bean或@ApplicationScopedBean 会更好吗?怎么样@Singleton?这些与DAO相关的选项有何不同?

编辑: 我正在使用Glassfish 3.0.1与完整的Java EE 6平台

java ejb java-ee java-ee-6 ejb-3.1

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

如何使用faces servlet映射设置JSF2 <welcome-file>?

我有一个使用Facelets的简单JSF2应用程序.我的web.xml设置如下: -

<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping> 
Run Code Online (Sandbox Code Playgroud)

我想将应用程序默认设置为欢迎页面/pages/login.xhtml.在转到浏览器中的上下文根目录时,我似乎无法获得欢迎文件设置.

我的web.xml欢迎设置如下: -

<welcome-file-list>
<welcome-file>/pages/login.jsf</welcome-file>
</welcome-file-list>
Run Code Online (Sandbox Code Playgroud)

如何强制欢迎页面转到登录页面并确保它通过faces servlet?

如果我使用以下页面显示页面,但它没有通过面部servlet,因此面部组件不会呈现: -

<welcome-file-list>
<welcome-file>pages/login.xhtml</welcome-file>
</welcome-file-list>
Run Code Online (Sandbox Code Playgroud)

任何帮助赞赏!

java-ee-6 jsf-2

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

构建Java EE 6项目时出现FilerException

我在Netbeans 7中有一个Java EE 6项目,当我在IDE中编译并启动它时运行正常.但是,当我清理和构建项目时,我得到了一个

java.lang.RuntimeException:: javax.annotation.processing.FilerException尝试为类型{ myclass} 重新创建文件

(其中myclass始终是JPA实体类).

如果我在代码中更改某些内容,它会更改哪个实体类.

我不知道可能导致这个错误的原因 - 任何人都可以提供一个想法.

我使用的唯一额外的lib是Velocity.

更新:我在同一个数据库上使用两个持久性单元,一个是"普通",另一个是非事务性.我用于将事物记录到数据库的非事务性的; 每次插入日志事件后提交.

当我改变它并且只使用一个'普通'PU时,项目编译得很好.可能是两个PU干扰了eclipselink做的一些优化吗?

这是堆栈跟踪的开始:

An annotation processor threw an uncaught exception.
Consult the following stack trace for details.
java.lang.RuntimeException: javax.annotation.processing.FilerException: Attempt to recreate a file for type de.guj.contenthub.ftdts.entity.AgofEntry_
    at org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor.process(CanonicalModelProcessor.java:407)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:625)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:554)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:699)
    at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:981)
    at com.sun.tools.
Run Code Online (Sandbox Code Playgroud)

netbeans java-ee-6

20
推荐指数
4
解决办法
2万
查看次数

如何使用接口和JPA

我应该首先说我是Java EE的新手,我还没有扎实的Java理论背景.

我在掌握如何JPAinterfacesJava 一起使用时遇到了麻烦.为了说明我发现的困难,我创建了一个非常简单的例子.

如果我有两个简单的接口PersonPet:

public interface Person
{
    public Pet getPet();
    public void setPet(Pet pet);
}

public interface Pet
{
    public String getName();
}
Run Code Online (Sandbox Code Playgroud)

而一个实体PersonEntity,它实现Person还有一个PetEntity它实现了Pet:

@Entity
public class PersonEntity implements Person
{
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Long id;

    private PetEntity pet;

    @Override
    public void setPet(Pet pet)
    {
        /* How do i solve this? */
    }
}

@Entity
public class PetEntity implements Pet
{
    @Id …
Run Code Online (Sandbox Code Playgroud)

java jpa interface java-ee java-ee-6

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

JPA嵌套事务和锁定

考虑这种情况,在不同的无状态bean中存在两种方法

public class Bean_A {
   Bean_B beanB; // Injected or whatever
   public void methodA() {
    Entity e1 = // get from db
    e1.setName("Blah");
    entityManager.persist(e1);
    int age = beanB.methodB();

   }
} 
public class Bean_B {
  //Note transaction
  @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
   public void methodB() {

    // complex calc to calculate age  
  }

}
Run Code Online (Sandbox Code Playgroud)

由BeanA.methodA启动的事务将被挂起,并且将在BeanB.methodB中启动新事务.如果methodB需要访问由methodA修改的同一实体,该怎么办?这会导致死锁.是否可以在不依赖隔离级别的情况下阻止它?

java jpa java-ee-6 jpa-2.0

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

是否可以@Inject一个@RequestScoped bean进入@Stateless EJB?

是否可以将请求范围的CDI bean注入无状态会话bean?

我曾经问了一个相关的问题,并认为具体的CDI @RequestScoped @Stateless问题值得自己发帖.

在EJB方法/ @RequestScoped和@Stateless之间传递状态

我还问了一个关于JMS @MessageDriven bean的类似问题 - 基本上想要了解@Stateless的相同内容.

@RequestScoped将CDI注入@MessageDriven bean

stateless-session-bean java-ee cdi java-ee-6 ejb-3.1

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

Tomcat 7上的CDI - 它有意义吗?

如果我可以选择,我将JBoss 7用于使用JSF 2和CDI的Java EE 6项目.

但有时候,客户项目的环境或多或少都会被设置 - 所以在一种情况下我们只限于Tomcat(6或7或7).

所以,我读了几篇关于在Tomcat中使用CDI(例如WELD)和JSF 2的文章,这表明这样做基本没问题.

不过,我的问题是 - 它有意义吗?或者servlet容器是不是这种架构的合适环境?有没有人使用Tomcat + CDI获得比演示项目更多的经验?

提前致谢!

tomcat cdi java-ee-6 jsf-2

18
推荐指数
1
解决办法
4909
查看次数