[原创]JNTI和JTA_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2669 | 回复: 0   主题: [原创]JNTI和JTA        下一篇 
    本主题由 koei123 于 2015-2-6 4:50:46 移动
geng.zhang
注册用户
等级:少校
经验:854
发帖:27
精华:0
注册:1970-1-1
状态:离线
发送短消息息给geng.zhang 加好友    发送短消息息给geng.zhang 发消息
发表于: IP:您无权察看 2014-12-2 15:52:45 | [全部帖] [楼主帖] 楼主

初识JNDI

Java Naming and Directory Interface字面上看,命名和目录接口,实际上就是一个命名对应一个接口,相当于将一个对象和一个实体名称绑定在一起,可以简单的理解为只要是基于命名的技术,都是需要通过jndi提供服务。这里的绑定查看了下资料,方法是

void bind(String name,Object obj)
void unbind(String name) void unbind(Name name)
void rebind(String name,Object obj)
void rename(String oldName,String newName)


JNDI的配置

数据源配置:

<Resource name=”jdbc/db_pet” type=”javax.sql.DataSource” password=”mysql”
driverClassName=”com.mysql.jdbc.Driver” maxdle=”2” maxWait=”50” username=”root”
url=”jdbc:mysql://localhost:3306/db_pet” maxActive=”4”


在工程下的context.xml下连接数据源:

<ResourceLink global=”jdbc/db_pet” name=”jdbc/db_pet” type=”javax.sql.DataSource”>


通过JNDI去取数据源:

Context initContext=new InitialContext();
Context getContext=(Context)innitContext.lookup(“java:/comp/env”);
DataSource ds=(DataSource)getContext.lookup(“jdbc/db_pet”);
Connection conn=ds.getConnection();


这其实跟jdbc差不多,但是它是将整个的有关数据库的内容打包在一起,比如url、数据库的驱动等,这样的话修改起来比较方便。

初识JTA

构成:

①事务界定接口

X/Open XA协议 (资源之间的一种标准化接口)的标准Java映射,它可以使事务性的资源管理器参与由外部事物管理器控制的事务中

③事务管理器接口

接口的学习:在javax.transaction包下面

UserTransaction接口:java客户端调用

TransactionManager接口:应用服务器管理事务

Transaction接口:执行相关事务操作

XAResource接口:资源管理器

Xid:事务标识符的java映射

JTA的基本步骤:

①配置数据源

②创建事务:

Context ctx=new InitialContext(p);
UserTransaction trans=(UserTransaction)ctx.lookup(“javax.Transaction.UserTransaction”);


③开始事务   trans.begin();

④建立数据库的连接

DataSource ds=(DataSource)ctx.lookup(“mysqldb”);
Connection conn=ds.getConnection();
Stmt.excuteUpdate(aqlS);
Trans.commit();/Trans.rollback();
Conn.close();


其实这个也和jdbc差不多吧,只是也是要配置数据源 ,将数据库的内容打包封装在一起。



该贴由koei123转至本版2015-2-6 4:50:46




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论