现在项目组使用seam技术,我在开发multiple 数据源问题,
1 components.xml 配置
<?xml version="1.0" encoding="UTF-8"?>
<components xmlns="http://jboss.com/products/seam/components"
xmlns:core="http://jboss.com/products/seam/core"
xmlns:persistence="http://jboss.com/products/seam/persistence"
xmlns:transaction="http://jboss.com/products/seam/transaction"
xmlns:security="http://jboss.com/products/seam/security"
xmlns:bpm="http://jboss.com/products/seam/bpm"
xmlns:web="http://jboss.com/products/seam/web"
xmlns:spring="http://jboss.com/products/seam/spring"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mail="http://jboss.com/products/seam/mail"
xsi:schemaLocation="http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.1.xsd
http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.1.xsd
http://jboss.com/products/seam/transaction http://jboss.com/products/seam/transaction-2.1.xsd
http://jboss.com/products/seam/bpm http://jboss.com/products/seam/bpm-2.1.xsd
http://jboss.com/products/seam/spring http://jboss.com/products/seam/spring-2.1.xsd
http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.1.xsd
http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.1.xsd">
<core:init debug="false" />
<web:context-filter url-pattern="/dwr/*"/>
<spring:context-loader config-locations="classpath*:META-INF/**/spring/*-context.xml"/>
<core:manager conversation-timeout="120000"
concurrent-request-timeout="500" conversation-id-parameter="cid" />
<transaction:entity-transaction entity-manager="#{em}" />
<persistence:entity-manager-factory name="wfwcoredatasource" />
<persistence:managed-persistence-context name="em"
auto-create="true" entity-manager-factory="#{wfwcoredatasource}" />
<transaction:entity-transaction name="tt2" entity-manager="#{em2}" />
<persistence:entity-manager-factory name="wfwcoredatasource2" />
<persistence:managed-persistence-context name="em2"
auto-create="true" entity-manager-factory="#{wfwcoredatasource2}" />
<component name="org.jboss.seam.navigation.pages">
<property name="resources">
<value>/WEB-INF/pages.xml</value>
<value>META-INF/wfwdemo/wfwdemo_pages.xml</value>
<value>META-INF/wfwcore/wfwcore_pages.xml</value>
<value>META-INF/wfwapp1/wfwapp1_pages.xml</value>
</property>
</component>
<!--
<web:logging-filter url-pattern="*.seam" />
<security:identity
authenticate-method="#{authenticator.authenticate}" />
-->
<bpm:jbpm />
<!-- customization -->
<component name="com.talgroup.sandbox.seam.configuration">
<property name="loginPage">
/pages/wfwcore/login1.xhtml
</property>
<property name="mainPage">
/pages/wfwdemo/mainpage.xhtml
</property>
</component>
<component name="skinBean"
scope="session"
class="com.talgroup.wfw.wfwcore.web.ui.SkinBean">
<property name="skinNames">
WfwSkin,blueSky,plain,emeraldTown,wine,japanCherry,ruby,classic,deepMarine
</property>
</component>
<component class="org.jboss.seam.web.MultipartFilter">
<property name="createTempFiles">true</property>
<property name="maxRequestSize">4000000</property>
</component>
<mail:mail-session host="smtp.freeborders.com" port="25" username="acen.chen@freeborders.com" password="19850802"/>
</components>
蓝色字体就是配置数据源的位置
2 配饰persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence 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_1_0.xsd"
version="1.0">
<persistence-unit name="wfwcoredatasource"
transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>
java:comp/env/jdbc/wfwdemo1_ds
</jta-data-source>
<class>com.talgroup.wfw.wfwcore.app.domain.User</class>
<class>com.talgroup.wfw.wfwcore.app.domain.Configuration</class>
<class>com.talgroup.wfw.wfwcore.app.domain.Profile</class>
<class>com.talgroup.wfw.wfwcore.app.domain.Function</class>
<class>com.talgroup.wfw.wfwcore.app.domain.Role</class>
<class>com.talgroup.wfw.wfwcore.app.domain.Group</class>
<class>com.talgroup.wfw.wfwcore.app.domain.UserGroup</class>
<class>com.talgroup.wfw.wfwcore.app.domain.RoleGroup</class>
<class>com.talgroup.wfw.wfwcore.app.domain.UserLockInfo</class>
<class>com.talgroup.wfw.wfwcore.app.domain.ADServerInfo</class>
<class>com.talgroup.wfw.wfwcore.app.domain.ConfigParameter</class>
<class>com.talgroup.wfw.wfwcore.app.domain.LoginUserInfo</class>
<class>com.talgroup.wfw.wfwdemo.jpa.Hotel</class>
<class>com.talgroup.wfw.wfwdemo.persistent.Tag</class>
<properties>
<!-- <property name="hibernate.hbm2ddl.auto" value="create-drop" /> -->
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.dialect"
value="com.talgroup.wfw.wfwcore.app.services.persistentService.DB2Dialect" />
<property name="hibernate.cache.provider_class"
value="org.hibernate.cache.HashtableCacheProvider" />
<property name="hibernate.cache.provider_class"
value="org.hibernate.cache.HashtableCacheProvider" />
<!-- RESOURCE_LOCAL
<property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.JBossTransactionManagerLookup"/>
-->
<!-- alternative
<property name="jboss.entity.manager.factory.jndi.name"
value="java:/jpaBookingEntityManagerFactory"/>
-->
</properties>
</persistence-unit>
<persistence-unit name="wfwcoredatasource2"
transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>
java:comp/env/jdbc/wfwdemo2_ds
</jta-data-source>
<class>com.talgroup.wfw.wfwcore.app.domain.User</class>
<class>com.talgroup.wfw.wfwcore.app.domain.Configuration</class>
<class>com.talgroup.wfw.wfwcore.app.domain.Profile</class>
<class>com.talgroup.wfw.wfwcore.app.domain.Function</class>
<class>com.talgroup.wfw.wfwcore.app.domain.Role</class>
<class>com.talgroup.wfw.wfwcore.app.domain.Group</class>
<class>com.talgroup.wfw.wfwcore.app.domain.UserGroup</class>
<class>com.talgroup.wfw.wfwcore.app.domain.RoleGroup</class>
<class>com.talgroup.wfw.wfwcore.app.domain.UserLockInfo</class>
<class>com.talgroup.wfw.wfwcore.app.domain.ADServerInfo</class>
<class>com.talgroup.wfw.wfwcore.app.domain.ConfigParameter</class>
<class>com.talgroup.wfw.wfwcore.app.domain.LoginUserInfo</class>
<class>com.talgroup.wfw.wfwdemo.jpa.Hotel</class>
<class>com.talgroup.wfw.wfwdemo.persistent.Tag</class>
<class>com.talgroup.wfw.wfwdemo.jpa.Hotel</class>
<class>com.talgroup.wfw.wfwdemo.jpa.Booking</class>
<class>com.talgroup.wfw.wfwdemo.jpa.Publisher</class>
<class>com.talgroup.wfw.wfwdemo.jpa.PubInfo</class>
<class>com.talgroup.wfw.wfwdemo.jpa.Author</class>
<class>com.talgroup.wfw.wfwdemo.jpa.Title</class>
<class>com.talgroup.wfw.wfwdemo.jpa.Book</class>
<class>com.talgroup.wfw.wfwdemo.jpa.SimpleObject</class>
<properties>
<!--
<property name="hibernate.hbm2ddl.auto" value="update" />
-->
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.dialect"
value="com.talgroup.wfw.wfwcore.app.services.persistentService.DB2Dialect" />
<property name="hibernate.cache.provider_class"
value="org.hibernate.cache.HashtableCacheProvider" />
<property name="hibernate.cache.provider_class"
value="org.hibernate.cache.HashtableCacheProvider" />
<!-- RESOURCE_LOCAL
<property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.JBossTransactionManagerLookup"/>
-->
<!-- alternative
<property name="jboss.entity.manager.factory.jndi.name"
value="java:/jpaBookingEntityManagerFactory"/>
-->
</properties>
</persistence-unit>
</persistence>
分享到:
相关推荐
每个开发者都可以在本地环境中使用相同的构建流程,而不会因为库版本不一致或缺失而导致问题。 总的来说,通过Maven管理Seam项目,可以有效地组织和自动化项目构建,减少手动配置的工作,提高开发效率。结合Seam的...
确保Seam能正确识别和使用你在Tomcat中定义的数据源。 4. **交易类型**:`persistence.xml`中的`transaction-type`属性设置为`JTA`,这意味着它期望一个支持JTA的环境。在Tomcat中,你可能需要改为`RESOURCE_LOCAL`...
这可能意味着你需要在`context.xml`中定义数据源,然后在Seam配置文件中引用它。 4. **部署上下文**:Seam2通常假设在JNDI下可以找到其组件和服务,但在Tomcat中,你可能需要创建一个名为`META-INF/components.xml`...
**1.9.3 在 RESTful 应用中使用“推送”式 MVC** - **实时更新**:通过“推送”式 MVC 实现页面内容的实时更新。 - **WebSocket**:使用 WebSocket 技术实现服务器与客户端之间的双向通信。 #### 第九部分:开始...
- **Seam**是JBoss家族中的一员,它是一个建立于Java EE平台之上的开源框架,旨在简化企业级应用的开发过程。 - **版本**: 本手册介绍的是Seam 2.0 GA版本。 ##### Seam的特点 - **上下文相关的组件模型**:这是...
配置JPA时,需在persistence.xml文件中定义实体和数据源,并在Seam配置中启用JPA支持。 #### 1.4.3. 打包 在J2EE环境中,打包过程可能涉及创建一个包含多个模块的EAR文件,如WAR、EJB JAR和其他库文件。 总之,...
Seam是一个开源的Java EE框架,它将JavaServer Faces(JSF)与EJB3、Hibernate等技术结合在一起,...通过理解这个例子,开发者可以更好地掌握Seam框架在实际项目中的应用,特别是对于构建复杂的、数据驱动的Web应用。
- **持久化部署描述符**:`persistence.xml`定义了持久层的配置,如数据源、实体映射等。 - **视图**:`register.jsp` 和 `registered.jsp`分别用于显示注册表单和成功页面。 - **EAR部署描述符**:`application.xml...
"seamCarving_GUI.fig"文件则是GUI的布局和设计,MATLAB使用.fig文件存储用户界面的组件和属性。当运行"seamCarving_GUI.m"时,这个.fig文件会加载并显示对应的图形界面。 "logo.jpg"和"york.jpg"可能是示例图像...
Seam项目源代码是一个基于JBoss应用服务器、JavaServer Faces (JSF)、Enterprise JavaBeans (EJB3) 的开源框架示例,旨在为初学者提供深入理解这些技术结合使用的实践经验。Seam是一个全面的Java EE开发框架,它简化...
通过`persistence.xml`配置文件,你可以定义数据源和实体映射。 8. **测试与部署**:Seam提供了测试框架,可以进行单元测试和集成测试。完成开发后,将工程打包成WAR文件,部署到JBoss AS上进行运行。 9. **错误...
2. **配置Seam**:在seam.properties文件中指定Hibernate配置,如数据源、实体扫描路径等。 3. **配置Spring**:创建Spring的bean配置文件,定义需要的bean,如DataSource、SessionFactory、TransactionManager等,...
2. **数据源与实体管理工厂**: 配置数据源和EntityManagerFactory,这是JPA与数据库交互的关键。在seam.properties文件或persistence.xml中设置连接信息。 3. **CRUD操作**: 使用Seam的EntityManager来执行数据库的...
- **Maven依赖配置**:对于使用Maven作为构建工具的项目,可以通过在`pom.xml`文件中添加适当的依赖来引入Seam3库。 ##### 2.2 配置 - **Maven依赖配置**:在项目的`pom.xml`文件中加入以下依赖: ```xml ...
在这个名为"CUDA_Seam_Carving.rar_cuda_seam_seam carving"的压缩包中,我们看到的是一个使用CUDA实现的Seam Carving算法的实例。 Seam Carving是一种图像内容感知的缩放技术,由Ariel Shamir和Shai Avidan在2008...
通过 Seam 的集成,开发者可以直接在组件中使用 Hibernate 来执行 CRUD 操作,无需过多关心底层的数据库访问细节。 #### 六、Seam 在 JBoss 中的应用 1. **JBoss AS 上运行示例**:Seam 应用可以在 JBoss ...
在使用`seam-gen`之前,需要确保系统中已安装了Ant 1.6或更高版本以及支持EJB3的JBoss Application Server 4.2.0 GA或更高版本。 #### 二、Seam-gen命令详解 `seam-gen`命令位于Seam框架的根目录下,它提供了多种...
这个命令会生成必要的Seam库、JDBC驱动jar文件,以及项目所需的源代码、配置文件、样式文件和Eclipse元数据。确保在创建新项目时选择“General”类型的项目,而不是“Java Project”,因为Seam项目需要的不仅仅是...
- **数据库连接配置**:如何在Seam应用中配置数据源,使其能够与Derby数据库通信。 - **数据操作**:编写代码以向数据库插入数据,并从数据库中检索数据,展示Seam框架如何简化这些任务。 #### 结论 《NetBeans ...
在`persistence.xml`中配置数据源和实体类,然后在Seam组件中通过`@In`注解注入EntityManager,进行CRUD操作。 7. **EJB集成**: Seam同样支持EJB,可以在Seam组件中声明并使用EJB服务。通过`@EJB`注解,可以直接...