`
Arron.li
  • 浏览: 136263 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

seam中使用多数据源

阅读更多

现在项目组使用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>

 

0
0
分享到:
评论

相关推荐

    使用 Maven 管理 Seam 项目

    每个开发者都可以在本地环境中使用相同的构建流程,而不会因为库版本不一致或缺失而导致问题。 总的来说,通过Maven管理Seam项目,可以有效地组织和自动化项目构建,减少手动配置的工作,提高开发效率。结合Seam的...

    jboss seam 架设Eclipse 中常见的错误解决.doc

    确保Seam能正确识别和使用你在Tomcat中定义的数据源。 4. **交易类型**:`persistence.xml`中的`transaction-type`属性设置为`JTA`,这意味着它期望一个支持JTA的环境。在Tomcat中,你可能需要改为`RESOURCE_LOCAL`...

    seam2 in tomcat lib

    这可能意味着你需要在`context.xml`中定义数据源,然后在Seam配置文件中引用它。 4. **部署上下文**:Seam2通常假设在JNDI下可以找到其组件和服务,但在Tomcat中,你可能需要创建一个名为`META-INF/components.xml`...

    jboss seam 2.01GA REF DOC

    **1.9.3 在 RESTful 应用中使用“推送”式 MVC** - **实时更新**:通过“推送”式 MVC 实现页面内容的实时更新。 - **WebSocket**:使用 WebSocket 技术实现服务器与客户端之间的双向通信。 #### 第九部分:开始...

    seam参考手册中文版

    - **Seam**是JBoss家族中的一员,它是一个建立于Java EE平台之上的开源框架,旨在简化企业级应用的开发过程。 - **版本**: 本手册介绍的是Seam 2.0 GA版本。 ##### Seam的特点 - **上下文相关的组件模型**:这是...

    Configuring Seam and packaging Seam applications

    配置JPA时,需在persistence.xml文件中定义实体和数据源,并在Seam配置中启用JPA支持。 #### 1.4.3. 打包 在J2EE环境中,打包过程可能涉及创建一个包含多个模块的EAR文件,如WAR、EJB JAR和其他库文件。 总之,...

    seam级联菜单例子

    Seam是一个开源的Java EE框架,它将JavaServer Faces(JSF)与EJB3、Hibernate等技术结合在一起,...通过理解这个例子,开发者可以更好地掌握Seam框架在实际项目中的应用,特别是对于构建复杂的、数据驱动的Web应用。

    jboss seam 教程

    - **持久化部署描述符**:`persistence.xml`定义了持久层的配置,如数据源、实体映射等。 - **视图**:`register.jsp` 和 `registered.jsp`分别用于显示注册表单和成功页面。 - **EAR部署描述符**:`application.xml...

    (可直接运行)国外的seam carving matlab源码(包含gui)

    "seamCarving_GUI.fig"文件则是GUI的布局和设计,MATLAB使用.fig文件存储用户界面的组件和属性。当运行"seamCarving_GUI.m"时,这个.fig文件会加载并显示对应的图形界面。 "logo.jpg"和"york.jpg"可能是示例图像...

    Seam项目源代码(基于JBoss和EJB3,JSF的项目源码)

    Seam项目源代码是一个基于JBoss应用服务器、JavaServer Faces (JSF)、Enterprise JavaBeans (EJB3) 的开源框架示例,旨在为初学者提供深入理解这些技术结合使用的实践经验。Seam是一个全面的Java EE开发框架,它简化...

    seam创建工程

    通过`persistence.xml`配置文件,你可以定义数据源和实体映射。 8. **测试与部署**:Seam提供了测试框架,可以进行单元测试和集成测试。完成开发后,将工程打包成WAR文件,部署到JBoss AS上进行运行。 9. **错误...

    seam+spring+hibernate+richfaces配置

    2. **配置Seam**:在seam.properties文件中指定Hibernate配置,如数据源、实体扫描路径等。 3. **配置Spring**:创建Spring的bean配置文件,定义需要的bean,如DataSource、SessionFactory、TransactionManager等,...

    使用JBoss Studio開發Seam框架專案(圖式教學)

    2. **数据源与实体管理工厂**: 配置数据源和EntityManagerFactory,这是JPA与数据库交互的关键。在seam.properties文件或persistence.xml中设置连接信息。 3. **CRUD操作**: 使用Seam的EntityManager来执行数据库的...

    JBoss Seam3

    - **Maven依赖配置**:对于使用Maven作为构建工具的项目,可以通过在`pom.xml`文件中添加适当的依赖来引入Seam3库。 ##### 2.2 配置 - **Maven依赖配置**:在项目的`pom.xml`文件中加入以下依赖: ```xml ...

    CUDA_Seam_Carving.rar_cuda_seam_seam carving

    在这个名为"CUDA_Seam_Carving.rar_cuda_seam_seam carving"的压缩包中,我们看到的是一个使用CUDA实现的Seam Carving算法的实例。 Seam Carving是一种图像内容感知的缩放技术,由Ariel Shamir和Shai Avidan在2008...

    seam+in+action+中文版

    通过 Seam 的集成,开发者可以直接在组件中使用 Hibernate 来执行 CRUD 操作,无需过多关心底层的数据库访问细节。 #### 六、Seam 在 JBoss 中的应用 1. **JBoss AS 上运行示例**:Seam 应用可以在 JBoss ...

    seam-gen命令解析文档

    在使用`seam-gen`之前,需要确保系统中已安装了Ant 1.6或更高版本以及支持EJB3的JBoss Application Server 4.2.0 GA或更高版本。 #### 二、Seam-gen命令详解 `seam-gen`命令位于Seam框架的根目录下,它提供了多种...

    JBoss Seam工程的创建

    这个命令会生成必要的Seam库、JDBC驱动jar文件,以及项目所需的源代码、配置文件、样式文件和Eclipse元数据。确保在创建新项目时选择“General”类型的项目,而不是“Java Project”,因为Seam项目需要的不仅仅是...

    netbeans_Facelets_Seam_Ejb3编程入门

    - **数据库连接配置**:如何在Seam应用中配置数据源,使其能够与Derby数据库通信。 - **数据操作**:编写代码以向数据库插入数据,并从数据库中检索数据,展示Seam框架如何简化这些任务。 #### 结论 《NetBeans ...

    NetBeans下jboss seam开发入门

    在`persistence.xml`中配置数据源和实体类,然后在Seam组件中通过`@In`注解注入EntityManager,进行CRUD操作。 7. **EJB集成**: Seam同样支持EJB,可以在Seam组件中声明并使用EJB服务。通过`@EJB`注解,可以直接...

Global site tag (gtag.js) - Google Analytics