据俺了解:目前java调用tuxedo服务只有通过jolt而且必须使用weblogic,大家因此比较郁闷。但JNI可以帮助我们实现绕开jolt,用java直接访问tuxedo服务。总结综合了网上前辈的各种办法后,下面是简单的一个例子。
1. 使用VC开发tuxedo客户端程序,封装成DLL形式。
2. 在Java中定义JNI调用,并撰写使用该JNI调用的相关代码。
3. 根据定义好的JNI调用生成相应的C语言头文件。
4. 利用生成的头文件,实现Windows平台上的代码(导入第1步实现的DLL函数,封装这些函数成符合JNI规范的DLL)
5. 编译代码,再生成封装后的DLL文件。
6. 执行Java程序中JNI调用的代码。
1. 开发客户端,编译后链接成DLL
// ClientDLL.cpp was generated by BuildTuxedo on 07/20/08 @ 15:14:40 ***** DO NOT EDIT *****
#include <tmenv.h>
#include <xa.h>
#include <atmi.h>
#include "ClientDLL.h"
#include <stdio.h>
#include <string.h>
#include <userlog.h>
#include <windows.h>
extern "C" _declspec(dllexport) char* send_rqst(const cha