标签: seam3

配置能够在Seam 3中@Inject EntityManager

在项目中,我使用Seam 3,我注射有问题EntityManager@Inject注解.我很确定有某种配置可以确保EnityManager知道PersistenceUnit要使用哪种配置.例如,EJB你可以输入:

@PersistenceContext(unitName="MY_PERSISTENCE_UNIT_NAME")
private EntityManager eManager;
Run Code Online (Sandbox Code Playgroud)

persistence.xml文件中配置了哪个持久性单元.这是我的伪配置:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
    xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">

    <persistence-unit name="MY_PERSISTENCE_UNIT_NAME" transaction-type="JTA">

        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <jta-data-source>java:jboss/TimeReportDS</jta-data-source>
        <mapping-file>META-INF/orm.xml</mapping-file> 

        <class>....</class>
        <class>....</class>
        <class>....</class>

        <properties>

            <property name="jboss.entity.manager.factory.jndi.name"
                value="java:/modelEntityManagerFactory" />

            <!-- PostgreSQL Configuration File -->
            <property name="hibernate.connection.driver_class" value="org.postgresql.Driver" />
            <property name="hibernate.connection.password" value="password" />
            <property name="hibernate.connection.url" value="jdbc:postgresql://192.168.2.125:5432/t_report" />
            <property name="hibernate.connection.username" value="username" />

            <!-- Specifying DB Driver, providing hibernate cfg lookup
                 and providing transaction manager configuration -->
            <property …
Run Code Online (Sandbox Code Playgroud)

java configuration persistence cdi seam3

3
推荐指数
1
解决办法
8761
查看次数

在JBoss AS7堆栈上使用ViewScope和避免LazyInitializationException的最简单方法(JSF2,CDI,JPA2,Seam?)

我正在尝试建立一个基于JBoss AS7的Web应用程序堆栈,用于满足以下要求的小规模研究原型和学生项目:

  1. 我想使用与Ajax相关的范围,例如ViewScope - 或者可能是MyFaces Orchestra中的(View)AccessScope - 用于我的托管bean,以及PrimeFaces组件.

  2. 基于JPA的持久性应该相当简单,无需处理OpenSessionInView模式等.我对JPA2的主要问题是可怕的LazyInitializationException,尤其是在AJAX调用中.我要求在谈话手动控制.

  3. 我希望尽可能少地使用依赖项,因此主要依赖于JBoss AS7附带的内容.

现在,我已经建立了一个项目,其中包含以下(主要是提供的)Maven依赖项:

  • CDI
  • 冬眠-2.0-API
  • 的jboss-EJB-api_3.1_spec
  • 的jboss-JSF的api_2.1_spec
  • JBoss的数据注解,api_1.1_spec
  • PrimeFaces 3

到目前为止看起来相当苗条.缺少的是对JSF特定范围的进一步支持,并且当在JSF页面中迭代集合时,我总是得到一个LazyInitializationException.现在,我的持久性服务类看起来像这样:

import javax.ejb.Stateful;
import javax.enterprise.context.RequestScoped;

@Stateful @RequestScoped
public class TestEntityService implements Serializable {
    @PersistenceContext(type=PersistenceContextType.EXTENDED)
    private EntityManager entityManager;

    // ... some methods working with the entityManager ...
}
Run Code Online (Sandbox Code Playgroud)

和我的ResourceFactory bean:

public class ResourceFactory {
    @Produces @PersistenceUnit
    private EntityManagerFactory entityManagerFactory;
}
Run Code Online (Sandbox Code Playgroud)

我尝试过失败与组合@Named代替@Stateful@SessionScoped代替@RequestScoped.然而,我发现添加Seam 3 Persistence,Solder&Faces模块似乎可以解决我的大多数问题,但这会为我的项目增加大量的新依赖项(例如,seam-security,prettyfaces,drools,joda-time和其他依赖项) ).

我的问题是: …

cdi seam3 jsf-2 jpa-2.0 jboss7.x

3
推荐指数
1
解决办法
4496
查看次数

创建Seam 3项目

这可能是一个糟糕的问题,但我没有找到任何好的教程,展示如何创建一个eclipse的seam 3项目.我看到我需要maven,jboss,seam 3和eclipse helios ...然后我已经下载了所有但是无法创建项目...还有m2eclipse插件......有人知道一个很好的教程,或者可以帮助创建这个项目?谢谢大家.

seam seam3

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

xDocReport-不可能为输入流创建报告

我无法解决这个问题。来源是:

        try {
        // 1) Load Docx file by filling Velocity template engine and cache it to the registry
        InputStream in = new FileInputStream("/test.docx");
        IXDocReport report = XDocReportRegistry.getRegistry().loadReport(in,TemplateEngineKind.Velocity);

        // 2) Create context Java model
        IContext context = report.createContext();
        context.put("user", variables.get("user"));

        // 3) Generate report by merging Java model with the Docx
        OutputStream out = new FileOutputStream(new File("/test_Out.docx"));
        report.process(context, out);

      } catch (IOException e) {
        e.printStackTrace();
      } catch (XDocReportException e) {
        e.printStackTrace();
      }
Run Code Online (Sandbox Code Playgroud)

当我尝试执行此代码时,出现错误:

09:03:15,608 ERROR [stderr] (http--127.0.0.1-8080-1) fr.opensagres.xdocreport.core.XDocReportException: Impossible to …
Run Code Online (Sandbox Code Playgroud)

java inputstream report seam3 xdocreport

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

Java EE - Seam 2 vs Seam 3 - 我现在应该选择哪个?

我正在开始新的企业应用程序.我选择了以下技术:jee6(jsf + primefaces,ejb)和hibernate.我将部署在Glassfish 3上.

问题是我应该选择哪种Seam版本?我知道Seam 3是最新的,但Seam 2似乎正在开发中.我快速浏览了Seam 2和3文档,Seam 2看起来更容易(特别是安全模块)

java seam java-ee seam2 seam3

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