Spring 2.0 中的 Request-Reply JMS

工程 | Mark Fisher | 2007 年 4 月 4 日 | ...

几个月前,我发表了一篇博客文章,介绍了 Spring 2.0 对 Message Driven POJOs 的支持。尽管很多人现在都熟悉这个特性,但 Spring 2.0 的 JMS 远程处理 特性却受到的关注较少。本质上,这种远程处理功能提供了 Spring 通用远程处理方法(例如其对 RMI、Hessian/Burlap 及其自身的 HttpInvoker 的支持)的 JMS 版本。

对于不熟悉 Spring 远程处理 的人来说,一般的思路是在服务器端配置一个非侵入性的导出器,并在客户端配置一个代理生成器(一个 Spring FactoryBean)。

我将在这里用一个代码示例来演示这个 JMS 远程处理——基于我的 上一篇文章 中的同一示例……

BeanInitializer:在单元测试中装配依赖项

工程 | Dave Syer | 2007 年 4 月 2 日 | ...

在 Spring 上下文环境中对某些类进行单元测试时,最让我烦恼的事情之一就是初始化它们及其所有依赖项。对于 Spring 框架扩展尤其如此,例如 FactoryBean 实现或 *Aware 实现。添加所有依赖项很麻烦,而且容易忘记调用 bean 生命周期方法,例如 InitializingBean 中的 afterPropertiesSet 方法。

Spring 的单元测试基础类提供了很多帮助,但仍然有一些细节问题。例如,在许多情况下,需要消除自动注入的歧义,所以……

阿姆斯特丹 Java Meetup 定于 4 月 13 日

工程 | Alef Arendsen | 2007 年 3 月 31 日 | ...

请标记您的日历!大约两周后,我将主办另一场阿姆斯特丹 Java Meetup;这个在荷兰每季度举办的活动,所有与 Java 相关的人(不过我们很友好;.NET 的人也欢迎!)都可以在这里聊天喝酒。没有技术会议,没有演讲,没有主题发言,只有饮品和聊天。

我们组织 Java Meetup 已经有一段时间了,参与人数从 2005 年 12 月的约 20 人增长到今年 1 月的约 60 或 70 人。

所以,请广而告之,加入我们吧(啊,别忘了,头几轮酒水已付)。

时间:4 月 13 日下午 6 点 - ?地点:阿姆斯特丹 - de Jaren - Nieuwe Doelenstraat

使用命名切入点进行 AOP 上下文绑定

工程 | Ben Hale | 2007 年 3 月 29 日 | ...

Spring AOP 中有大量新特性,包括 AspectJ 切入点语言、<aop:*/> 命名空间和 @AspectJ 语法支持。但迄今为止,最有力的方面(请原谅这个双关语)之一是 AOP 上下文绑定。

例如,假设您想通知一个接受 String 作为参数的方法。


public interface HelloService {
	String getHelloMessage(String toAddHello);
}

要通知这个方法,您需要编写一个切入点,该切入点寻找一个 String 返回类型、HelloService 接口的所有实现以及 getHelloMessage(String) 方法。


@Before("execution…

纽约 Java SIG 爆满

工程 | Neelan Choksi | 2007 年 3 月 28 日 | ...

我时不时地能体验到关于 Spring、Interface21 和我们团队的人气方面的一些惊人事情。

昨晚就是其中一次这样的时刻。Rod 在曼哈顿的 NY Java SIG 发表了演讲。资深的 NY Java SIG 协调员 Frank Greco 大约两周前的一个周日晚发了一封邮件宣布 Java SIG 活动。到周一早上大约 9 点,活动注册人数已达到上限 300 人(Google 的会议室超过 260 人时会因消防规定而产生问题)。实际上,Java SIG 在大约一个工作小时内就售罄了。我想……

为什么开源企业不像沃尔玛

工程 | Rod Johnson | 2007 年 3 月 21 日 | ...

希望一个或多个开源企业能成为 21 世纪初资本主义的杰出成功典范之一。然而,回顾 20 世纪末资本主义的一个杰出成功典范,对于理解开源企业面临的一种不寻常挑战来说,是一个具有启发性的例子。

沃尔玛的历史众所周知。第一家沃尔玛于 1962 年在阿肯色州罗杰斯开业。五年后,阿肯色州有了 24 家门店。1968 年,沃尔玛在阿肯色州以外的密苏里州和俄克拉荷马州开设了第一家门店。当然,这两个州都与阿肯色州接壤。沃尔玛……

CarPlant 不接受 null CarModels

工程 | Alef Arendsen | 2007 年 3 月 12 日 | ...

上周五,我结束了在我们一个客户那里进行的 培训课程。因为在住的酒店里有些空闲时间,我润色了在培训期间编写的示例应用程序,以便将其发布到网上供参加培训的人使用。通常我都会尝试找到一个与客户领域相关的小示例应用程序用于培训。这样会比一些 HelloWorld 示例更有活力一些。

这个客户是一家大型汽车品牌,他们在整个组织中广泛采用了 Spring。这就是为什么我创建了一个能够生产汽车的 CarPlant 系统。下面你可以看到……

Spring 论坛新内容:定期投票

工程 | Alef Arendsen | 2007 年 3 月 10 日 | ...

前段时间,我们曾考虑在 Spring 用户中进行一次大型调查,以收集对框架某些部分的反馈。我们会包含诸如“您使用哪个 Java 版本”之类的问题,也会询问您喜欢或不喜欢 Spring 的哪些特性等等。

部分是由于缺乏这方面的条件,也部分是由于目前我们不想强迫 Spring 用户填写冗长的调查问卷,我们从未真正实施这项工作。

在过去的半小时里,我在 Spring Framework 论坛 上设置了一个不错的替代方案。从现在起,我们将在论坛上举办一系列投票活动。这些投票基本上非常简单……

Maven Artifacts

工程 | Ben Hale | 2007 年 3 月 8 日 | ...

终于可以宣布 SPR-1484 问题已解决。该问题于 2005 年 11 月 20 日提出,获得了 121 票支持,63 人关注,甚至还有一个 反向票,这个问题的优先级算是历来最高之一。在过去 10 分钟内,我已将 Spring 1.2.9 的 maven artifacts 上传到我们的本地仓库,您应该会在接下来的 6 小时左右看到它们被复制到中央 maven 仓库。

您会注意到 Spring JIRA 中还有一些问题,例如 SPR-2704SPR-1383SPR-3198。这意味着我们的构建改进工作尚未完成,我们将继续回应社区的反馈。事实上,我们已经……

Oracle 向 Spring Framework 贡献 Oracle 应用服务器集成代码

工程 | Rod Johnson | 2007 年 2 月 27 日 | ...

关于应用服务器拥抱 Spring 的主题,再来一个更新。Oracle 一直在为他们的应用服务器开发增值集成。

这与我们在 WebLogic 8.1 及更高版本中通过 WebLogicJtaTransactionManager 实现的类似。在 OC4J 环境中,应该使用 OC4JJtaTransactionManager 代替通用的 JtaTransactionManager,它提供以下好处:

  • 直接访问事务管理器和辅助类,而无需使用 JNDI 查找
  • 自动检测服务器版本,以便充分利用不同版本中不同的事务管理器实现
  • 控制事务隔离级别:这是 JTA 中不提供的一个非常有用的特性

对于熟悉 JTA 的人来说,使用 UserTransaction(就像您在 Java EE 中通过编程方式控制事务时那样)存在一些重大缺陷,考虑到现在已经过时的情况,这些缺陷也许可以理解……

获取 Spring 新闻通讯

订阅 Spring 新闻通讯,保持联系

订阅

领先一步

VMware 提供培训和认证,助您飞速进步。

了解更多

获得支持

Tanzu Spring 通过一个简单的订阅,为 OpenJDK™、Spring 和 Apache Tomcat® 提供支持和二进制文件。

了解更多

即将到来的活动

查看 Spring 社区所有即将到来的活动。

查看全部