来自 SpringOne“超越显而易见”演讲的代码示例
上周在 SpringOne 上,Alef 和我做了一个关于使用 Spring 处理复杂应用程序的演讲。在这种情况下,复杂性被认为存在于结构和动态两个层面。关于演讲的结构部分,我在我之前的博客文章中介绍过。动态部分解释了一些处理部署环境之间差异的可能解决方案。(测试、验收、生产等)许多人问我是否可以提供我在演讲期间演示的源代码。我已经将这些源代码附加到此博客文章中,并将解释……
上周在 SpringOne 上,Alef 和我做了一个关于使用 Spring 处理复杂应用程序的演讲。在这种情况下,复杂性被认为存在于结构和动态两个层面。关于演讲的结构部分,我在我之前的博客文章中介绍过。动态部分解释了一些处理部署环境之间差异的可能解决方案。(测试、验收、生产等)许多人问我是否可以提供我在演讲期间演示的源代码。我已经将这些源代码附加到此博客文章中,并将解释……
在昨天 SpringOne 的最后一节会议上,Dave Syer、Scott Wintermute、Lucas Ward 和 Wayne Lund 都介绍了Spring Batch。我实际上没有参加(因为我有一趟早班出租车),但我探了一下头,又一次对人们的兴趣之大感到震惊。
回到 JavaOne,我们对这个解决方案也有极大的兴趣,许多参观者来到展位询问我们关于批处理的问题。
在这个 Ajax 和富互联网应用程序的世界里,很容易忘记大量(也许是大多数?)大型企业应用程序都是面向批处理的。批处理……
对 Web Flow 应用程序进行负载测试类似于对任何其他 Web 应用程序进行负载测试——我们将使用负载测试工具来模拟并发客户端访问的增加级别,以便捕获必要的性能统计数据。
对于 Web Flow,负载测试将有一些重要的考虑因素
Apache JMeter 是一款开源性能测试工具,可以满足这两个考虑因素。
对于 1),我们在每个执行 Web Flow 功能的测试组的根目录添加一个 HTTP Cookie 管理器元素。Cookie 管理器确保每个模拟的客户端请求都可以拥有自己的……
SpringOne 正在顺利进行。今年是为期 3 天的展会,比去年的 2 天有所增加,再一次看到数百名与会者参加 Spring 大会真是太好了。这一次我在展会上相当轻松,因为在开幕主题演讲之后,我没有其他会议,也不需要处理幻灯片。
现在,Adrian 正在准备宣布关于 Spring 工具的重要消息。实际上,他正在对鸭子类型进行独特的个人解读,我相信你会听到的……
稍后再详细介绍,但首先我需要分享昨天的一些新闻。我很高兴能够宣布我们已经……
昨天,Joris 和我在荷兰 Java 用户组做了一个演讲。我们做了两次演讲,总共有大约 250 人参加了这些演讲。许多人要求提供我们在演讲期间演示的代码。附件中包含了 AOP 和依赖注入演示的代码。它展示了一个简单的方面,在每次 JDBC 操作之前刷新 Hibernate 会话(不像在生产代码中那样健壮,但这是一个开始),它还展示了使用……配置的 CarPlant 系统(在其他演讲中演示过,并之前附加到另一个博客文章中)。
昨天 GigaSpaces 宣布了其基于空间的架构的最新版本,并且它也有了一个新名称:GigaSpaces 极限应用平台 (XAP)。引用其新闻稿:
新版本提供了一个完整的中间件平台,用于管理需要高性能和能够横向扩展到数百台机器的应用程序的数据、消息传递和业务逻辑。不过,公告中引起我注意的部分是这个
作为新产品发布的一部分,GigaSpaces 采用了更简单、非侵入式的编程模型,允许开发人员使用普通旧 Java 对象 (POJO)、纯 .Net 和纯 C++ 对象编写应用程序。对于 Java,GigaSpaces 通过支持 Spring Framework 来实现这一点,Spring Framework 正在迅速成为企业 Java 编程的事实标准。很高兴看到这种认可,我对该声明唯一要做的细微改动是删除“正在迅速成为”部分:Spring Framework就是企业 Java 编程的事实标准。
像这样的公告是良性循环的一部分(例如,Geoffrey Moore 在他的著作“大猩猩游戏”中描述过),其中 Spring Framework 的普及性使得供应商在其产品中提供 Spring Framework 集成变得非常有吸引力,这反过来又增加了 Spring 的整体价值。当然,这有助于使 Spring 更加普及……
关于开源的胡说八道的产生是一个竞争激烈的领域。但是,我刚刚遇到了一些提高(降低?)了标准的东西:OpenLogic 博客作者发表的一篇题为你的时间值多少钱?的文章。
它不是一篇长篇大论,这很方便,因为它更容易逐段分解。我专注于企业 Java,对此我可以根据经验发表意见。
这位博主马上就点明了为什么她不理解企业中的开源
从事开源软件开发的开发人员通常有薪水很高的日常工作。因此,他们免费从事开源软件工作,并在白天编写代码以赚取大笔收入。哇,我以为我们几年前就已经超越了这种“业余爱好者”的想法。让我引用一些关于 Linux 的统计数据,来自 2004 年的一篇文章,名为Linux 现在已成为企业巨兽。重点是我加的
为了消除 Linux 是由大量孤立工作的独立黑客拼凑起来的这种观念,负责管理 Linux 内核的人说,现在大多数 Linux 改进都来自企业。“人们对(典型 Linux 开发人员)的刻板印象是一个男性电脑极客,在他的地下室里业余时间编写代码,纯粹是为了热爱自己的工作。大约五年前,这些人是一股重要的力量,”负责维护 Linux 内核稳定版本的 Andrew Morton 说。Morton 说,来自这些爱好者的贡献,“正在减少”。相反,大多数代码都是由按企业时间表打卡的程序员生成的。Morton 说,大约 1000 名开发人员定期为 Linux 做出贡献。在这 1000 名开发人员中,大约 100 人得到雇主付费来开发 Linux。而这 100 人贡献了操作系统最近 38000 次更改中的大约 37000 次。这意味着 97% 的提交来自得到付费开发 Linux 的人。这种转变与 Linux 在企业中的日益普及相对应。观察企业 Java 中最成功的复杂项目,例如 Spring、Hibernate 和 JBoss,就会看到类似的情况。所有这些都主要由在这些项目背后的公司工作的开发人员编写。志愿者参与很少。因此,这些产品取得了快速进步。
这篇文章现在转向经济学——或者更准确地说,试图论证……
上个月我在土耳其做了一个核心 Spring 培训。在课程结束时,我讨论了一个应用程序的架构,一些参与者将在完成课程后构建该应用程序。该应用程序将包含一个 ear 文件,其中包含多个 war 文件,并且提出了一个问题,即是否可以定义一个可以作为所有 war 文件的 WebApplicationContext 的共享父级的单个 ApplicationContext。此上下文将保存服务、DAO 和其他不特定于单个 Web 模块的 bean 的 bean 定义。
实际上,Spring 使它……
您可能已经听说过Interface21(Spring背后的公司)最近筹集了1000万美元的消息。鉴于我们已经存在了近3年,并且迄今为止取得了很多成就,您可能想知道为什么。
我们为什么要筹集资金,以及我们将如何使用这些资金?
在过去的两年里,我们建立了一个很棒的团队。Juergen Hoeller、Adrian Colyer、Keith Donald、Colin Sampaleanu、Mark Pollack、Ben Alex、Rob Harrop……开始列这个名单有点可怕,因为我知道我无法列出公司里所有有才华的技术人员,而且我不想暗示任何能力排序……