|
1
1
|
|
|
2
1
@michael好吧,java.sql.connection是一个接口——从技术上讲,您从jboss获得的具体实现可能是可序列化的——但我不认为您真的会有任何可用的选项。如果可能的话,可能会很容易:) 我认为@toolkit可能在vm之外使用了正确的词-jdbc驱动程序将与运行在底层操作系统中的本机驱动程序代码对话,所以这可能解释了为什么不能通过网络在其他地方传递连接。 我的建议,(如果你没有更好的建议!)可能会找到另一种方法-如果您有权在jboss目录中找到资源,那么可以实现一个代理对象,您可以从该目录中找到并获取该对象,该对象允许您从胖客户机远程使用连接。我认为这是一种叫做数据传输对象的设计模式 Wikipedia entry |
|
|
3
0
@工具包: 嗯,不完全是。因为我可以通过jndi访问数据源,所以它实际上是可见的,因此是可用的。 还是我完全错了? @ Brabster: 我觉得你走对了。有没有办法使连接可序列化?可能只是配置问题… |
|
|
4
0
我已经读过iBATIS了——也许你可以使DAO等的实现可序列化,将它们发布到你的目录中,然后检索它们并在胖客户机中使用它们?你也会从中得到重用的好处。 这里有一个类似的例子 Wicket |
|
|
5
0
jboss用自己的数据源包装所有数据源。 这使得它可以利用autocommit来从jdbc连接中获取指定的j2ee行为。他们是 主要地 塞拉利扎布尔。但你不必相信他们。 我会仔细看看包装纸。我已经为jboss的jdbc j2ee包装器编写了一个代理项,它与oocjndi一起工作,使我的dao代码单元能够独立测试。
您只需包装java.sql.driver,将oocjndi指向您的类,然后在junit中运行。 驱动程序包装器可以直接创建一个sql驱动程序并委托给它。 在connect上返回自己设计的java.sql.connection包装器。 一个connectionwrapper可以包装您的oracle驱动程序提供给您的连接, 它唯一的特殊功能就是将autocommit设置为true。 别忘了eclipse可以为你设计delgates。添加需要委派的成员,然后选择该成员并右键单击,source-=>添加delgage方法。 当你通过电话获得报酬时,这很好;-) bada-bing、bada-boom、junit开箱即用j2ee测试。 你的问题很可能也是同样的,junit被划掉了,fatclient用蜡笔写了下来。 我的fatclient使用用xdoclet生成的rmi与j2ee服务器进行通信,所以我没有您的问题。 |
|
|
6
0
我认为异常表明您试图检索的sqlconnection对象没有实现可序列化接口,因此无法按您要求的方式将其传递给您。 从我对jdni所做的有限工作来看,如果您通过jndi请求一个对象,那么它必须是可序列化的。据我所知,这是没有办法的-如果我想一个更好的方法,我会张贴它… 好的,一个明显的选项是提供一个本地的可序列化对象到使用它的数据源,但是没有将该数据源作为其可序列化对象图的一部分。胖客户机随后可以查找该对象并查询它。 或者创建一个(网络?)访问数据源的服务是受管理的——同样,您的胖客户机也会访问该服务——如果您担心这些问题,那么这可能是更好的封装和更可重用的方法。 |
|
|
Junior Bezerra · 部署Jboss产品 8 年前 |
|
|
user3311231 · 无效会话和无效会话之间的区别是什么 8 年前 |
|
|
abalcerek · 从wildfly发送jms消息 8 年前 |
|
|
L. Cornelius Dol · 下拖独立震击器 8 年前 |
|
|
Alex Mi · 在JBoss EAP 7中配置Http标头 8 年前 |