一聚教程网:一个值得你收藏的教程网站

热门教程

J2EE设计模式:CMP到BMP模式(二)

时间:2022-07-02 17:38:00 编辑:袖梨 来源:一聚教程网

特定厂商的weblogic-ejb-jar.xml
我们首先在weblogic-ejb-jar.xml中定义厂商特定的信息。在这里我们告诉服务器在哪儿存放本地存根(stub)和哪儿去查找CMP映射。
持久映射信息:
<persistence-type>
<type-identifier>WebLogic_CMP_RDBMS</type-identifier>
<type-version>6.0</type-version>
<type-storage>META-INF/weblogic-cmp-rdbms-jar.xml<
/type-storage>
</persistence-type>
本地JNDI名字
<local-jndi-name>InventoryHome</local-jndi-name>
特定厂商的weblogic-cmp-rdbms-jar.xml
数据源(datasource)名称:(这个数据源在配置的时候被创建)
<data-source-name>InventoryDB</data-source-name>
表(table)名:
<table-name>inventory</table-name>
域(field)映射
<field-map>
<cmp-field>stock</cmp-field>
<dbms-column>stock</dbms-column>
</field-map>
<field-map>
<cmp-field>item</cmp-field>
<dbms-column>item</dbms-column>
</field-map>
<field-map>
<cmp-field>price</cmp-field>
<dbms-column>price</dbms-column>
</field-map>
现在我们有了我们想要得一切。容器将利用抽象类和部署信息来使一切工作的很好。由于某些原因,我们可能让这个CMPbean移植到BMP。以下是为什么我们要这样做的原因
1.可移植性:当前,它只工作在WebLogic 6.1,,而我们并不想学习其他的工具。这非常正常如果我们想卖这个数据库组件的话--它能够运行在任何服务器上。
2.性能:如果我们想很好的运行SQL(用存储过程,表的联合等等)。
3.可替换的数据源:如果我们想访问不同的数据源而不是RDBMS。
用BMP移植Bean
这里我们将讨论移植模式。我们可以通过“变成持久管理器“模式将CMP移植到BMP。我们可以看到持久管理器扩展了我们创建的抽象类并实现了抽象类的方法!最终的设计看起来如图二:

热门栏目