成长的记忆

整理学习中的心得体会,记录开发中的酸甜苦辣,这是成长的记忆

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  5 随笔 :: 0 文章 :: 36 评论 :: 0 Trackbacks

2006年6月5日 #

     摘要: 有同学需要修改后的Hibernate Tools,见上一篇随笔:Hibernate Tools生成注释
整个tool我就不上传了  阅读全文
posted @ 2010-01-25 17:43 小牧 阅读(3510) | 评论 (4)编辑 收藏

     摘要: 最近做项目时,使用Hibernate Tools 3.2.4生成entity和hbm.xml,但默认情况下,DB中的comments没法生成到javadoc和xml中,改了templates倒是有注释了,但却是乱码,心里一直耿耿于怀...(这不符合咱一直强调的编码规范不是?最主要的是人懒,有时用entity不想再找文档)。在网上找了半天,大多说是freemarker编码设置问题,但不管怎么设置,都没一点效果,决定自己动手。下了源码,查到原因,人家压根就没处理中文问题。记录一下处理过程。
  阅读全文
posted @ 2009-11-13 00:20 小牧 阅读(9437) | 评论 (23)编辑 收藏

1、org.hibernate.LazyInitializationException: could not initialize proxy - the owning Session was closed.

问题:hibernate3默认的lazy为true,使用代理模式proxy属性允许延迟加载类的持久化实例。调用session.load()方法,Hibernate开始会返回CGLIB代理,除主键外的其他值均为null。当代理的某个方法被实际调用的时候, 真实的持久化对象才会被装载,但必须在同一个session中。如session.close()前一直未调用方法,close()后再调用,报上述错误。

解决:a.hbm.xml中 class项,加上lazy=false

            b.使用session.get()方法,将不延迟,直接取出对象实例。

2、java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Can't start a cloned connection while in manual transaction mode.

问题:MS SQLServer在设置为autoCommit=false,SelectMethod=direct(SelectMethod如果不设置,默认为direct)时,处理多个statement将报以上错误

解决:在url加上设置SelectMethod=Cursor

3、java.lang.NullPointerException: Problem with checked-in Statement, discarding.

问题:oracle9i前的jdbc Driver有bug,多个statement亦会出错

解决:在http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html上下载最新的ojdbc14.jar,版本为10.2.0.1.0

posted @ 2006-06-09 09:39 小牧 阅读(665) | 评论 (0)编辑 收藏

     摘要: OpenAdaptor白皮书 介绍   竞争不断地要求如今的企业集中他们的能力,迅速...  阅读全文
posted @ 2006-06-06 22:35 小牧 阅读(1897) | 评论 (6)编辑 收藏

一、OpenAdaptor背景
      德国的投资银行,Dresdner Kleinwort Wassertein(DrKw),以 "openadaptor" 的名字公开了该软件的源码,被 DrKW 称之为 "让所有电子商务的异种系统无缝连接的一个最基本的部件。"DrKW 把源码的发布的看作是 "加速投资银行客户之间的电子商务联络的一个重要一步。"

      根据 DrKW 公司的声明,“opendadptor 允许快速、简单地把免费代码集成到其他的系统中,通过对网站的操作,使所有的供应链和内部系统整合成一个整体。”openadaptor 软件原来是由 DrKW 内部开发的,据说从 1998 年开始,已成功应用于超过 40 个的项目。实际上,该软件被用来配备 DrKW 银行的全球交易系统。

      Openadaptor 软件早先是用 Java 写的,支持很多金融和 IT 业的标准,包括了:XML(可扩展的标记语言)、JMS (Java消息服务),JDBC (Java数据库连接),以及 RMI(远程方式调用)等。它还有与第三方软件包比如 Tibco 和 IBM 的 MQSeries 相互交换数据的接口界面。授权协议参考了 MIT 的 X license 的协议格式,该协议允许在任何开放源码软件或有版权的应用程序中自由免费的使用其源码。

      为什么 DrKW 银行会决定把 openadaptor 的源码公开呢?在声明中,DrKW 的 CIO,Al-Noor Ramji 谈了一些做出这个决定背后的有意思的观点:

      "我们需要为我们的客户降低做生意的成本,这可不是一个容易解决的问题,因此我们必须采取的一项重要的基本措施是加快我们的客户的联络速度,甚至我们因此还要付出帮助我们的竞争对手的高昂代价。因为我们的客户都是投资银行的老客户了,他们通常会选择几个服务商。让客户在网站上与他们选定的任何人打交道,将不只是增加市场的透明度和流动性,而且使所有的客户降低了成本,增加了商业机会。我们在继续努力巩固我们的 "客户技术员" 的角色,为双方提供更多的商机 。openadaptor 允许所有的客户积极地参加这个开放环境,没有任何侵权的顾虑。"

      DrKW 的常务董事 Conor Killeen 是这样说的:"这只是 DrKW 在 2001 年中一系列关键技术发布的开始,要为全球的客户扮演一个 "可依赖的顾问" 角色,在别人还只是在口头上讨论时就付诸实施以成为业界领导者是势在必行的了。

二、OpenAdaptor简介

      现代企业需要将大量不同的系统连接在一起,使得它们之间可以进行信息交互。原有的典型处理方法是直接的“点对点”的数据传输,并自行完成数据的安全性、可靠性、一致性等处理。随着系统的不断增加,直接的定向连接和定制编程的情况会急剧增加,这最终会成为信息流动的瓶颈。

      OpenAdaptor是一个基于Java/XML的软件平台,允许用少量的或非常规的编程进行快速地商业系统集成。它具有高扩展性并已经为JMS,LDAP,Mail,MQSeries,Oracle,Sybase,MSSQL Server和作为数据交换格式的XML构建接口组件。OpenAdaptor为开发人员提供了大量接口组件,通过Source、Pipe、Sink组件链的形式实现系统和系统间的连接,从而完成数据的交换。

Source 数据获取对象,是一个接口,可以根据数据获取来源不同,实现很多子类,比如:FileSource、JMSSource等。它本身并没有定义任何方法,但是扩展了线程,所以它的核心方法应该就是线程的run方法。

Pipe   对source获取的数据进行处理,比如过滤、重新组织等,比如:FilterPipe。最上层是一个抽象类,核心方法是processMessage()

Sink  数据发布,将整合后的数据,根据配置文件,发布出去,比如:FileSink、JMSSink等。定义了一个接口,核心方法是processMessage()

Controller 整个消息传递的控制类,是一个线程,负责对上面所说的三个对象的调用,完成一次消息的传递,每一次消息的传递都会新建一个线程实例。定义了一个接口。

DataObject 传递消息数据的对象,定义了一个接口。

Message 对DataObject对象集合的封装,用来传递消息。

三、OpenAdaptor链接

      https://www.openadaptor.org/                        OpenAdaptor
      http://visualadaptor.sourceforge.net/                Eclipse Plugin for the OpenAdaptor framework

posted @ 2006-06-05 18:35 小牧 阅读(2006) | 评论 (3)编辑 收藏