关于选举的一点说明

工程 | Rod Johnson | 2008年10月28日 | ...

不是11月4日的奥巴马/麦凯恩对决。正如您可能在SD Times上读到的那样,SpringSource已与SAP、爱立信、诺基亚、飞利浦和IBM一同当选Java SE/EE JCP执行委员会。我将是SpringSource的代表。

这并不是说JCP的规模能与总统竞选相提并论。但这对于SpringSource来说是一个重要的时刻,它反映了SpringSource团队在企业Java领域多年来的辛勤工作和领导力。更重要的是,我相信我们的当选将有助于我们使Java更加强大。

第一本书 到……

SpringSource dm Server 入门

工程 | Rob Harrop | 2008 年 10 月 22 日 | ...

更新于 2008 年 10 月 28 日:添加了最新的示例链接和第三个示例链接

昨晚,我在费城 Spring 用户组发表了“SpringSource dm Server 简介”演讲。在这次演讲中,我创建了一个名为 GreenPages 的小型应用程序,展示了 dm Server 的所有主要方面。我向与会者承诺,我将在此处发布该应用程序和幻灯片。

在 dm Server GA 版发布后的几周里,许多人都在询问如何最好地开始使用 dm Server,所以我用这篇文章来收集所有相关信息……

Spring Batch 2.0新功能概述

工程 | Dave Syer | 2008年10月21日 | ...

在本文中,我们概述了Spring Batch 2.0的主要主题,并重点介绍了与1.x版本的变化。新版本的开发工作正在顺利进行,上周发布了M2版本,并且我们获得了大量关注,因此现在似乎是提供一些指针的好时机。

Spring Batch 2.0 主题

新版本的四个主要主题是

  • Java 5和Spring 3.0
  • 非顺序执行
  • 可伸缩性
  • 配置:注解和XML命名空间
因此,我们将分别介绍每个领域,描述它们意味着什么以及这些变化对Spring Batch现有用户的影响。下面有更多关于已实现功能的详细信息,这些功能主要集中在第一类,并在其他领域提供了一些支持性功能。

Spring Batch 2.0.0.M2 在项目物理布局方面没有任何变化(相同的旧下载,相同的 Java 包基本布局)。我们没有移除任何功能,但我们抓住机会修改了几个 API,并且有一些小的改动,用于……

理解OSGi uses指令

工程 | Glyn Normington | 2008年10月20日 | ...

如果您为SpringSource dm Server或任何其他OSGi平台构建应用程序,您迟早会遇到“uses”指令。除非您清楚地理解该指令的目的,否则您将不知道何时编写它,并且当某个bundle由于“uses”冲突而无法解析时,您将只能猜测。本文应让您全面了解“uses”指令,何时使用它,以及如何调试“uses”冲突。

Bundle解析

OSGi 的设计使得一旦 bundle 被“解析”,您通常就不会遇到由于类型……导致的类转换异常和类似问题。

Spring.NET 1.2.0 RC1 发布

发布 | Mark Pollack | 2008年10月16日 | ...

我们很高兴地宣布,Spring .NET 1.2.0 RC1 已发布。
下载 | 支持 | 文档 | 更新日志
本次发布包含以下特性

  • WCF 集成 - 使用依赖注入配置 WCF 服务。将 AOP 通知应用于 WCF 服务。
  • MSMQ 集成 - MSMQ 辅助类,提高开发消息应用程序的生产力。提供与 Spring 事务管理功能的集成。
  • Apache ActiveMQ 集成 - 辅助类,提高使用 ActiveMQ 开发消息应用程序的生产力
  • Quartz 集成 - 使用依赖注入配置 Quartz 作业、调度器、触发器。提供实现 Quartz 作业的便捷类,并与 Spring 事务管理功能集成。
  • AOP 新的基于继承的 AOP 代理生成。
  • WebForm 依赖注入的性能改进。
  • 支持 NHibernate 2.0.1。

1.2.0 RC1 中其他值得注意的新特性

对 TIBCO EMS、Websphere MQ 和 Progress SonicMQ 的支持将通过商业途径提供。 如需更多信息,请联系 销售

请参阅更新日志了解更多详细信息。

祝您使用愉快!

Spring Batch 2.0.0.M2 发布

版本发布 | Dave Syer | 2008年10月15日 | ...

Spring Batch 2.0.0.M2 现已发布。请访问 Spring Batch 下载页面了解更多信息 - 除了通常的 .zip 下载外,还有 S3 中的 Maven 构件。

此版本的大部分工作都集中在面向块的处理方法上,这意味着 ItemReader 和 ItemWriter 接口发生了变化,并且 ItemProcessor 作为翻译输入和输出项的顶级关注点被引入。面向块的处理是实现性能和可伸缩性的关键,并且对于用户来说,在扩展点和接口方面更加清晰(不再有框架……

优化和调整 Apache Tomcat - 第 2 部分

工程 | Mark Thomas | 2008年10月14日 | ...

几周前,Filip Hanik 和我举办了“优化和调整 Apache Tomcat”系列网络研讨会的第二部分。您可以通过 SpringSource 网站的网络研讨会部分获取网络研讨会的录音和幻灯片副本。同一页面上还有所有以前的 SpringSource 网络研讨会的链接,以及 Covalent 网络研讨会存档

我们无法在问答环节中回答所有问题,所以,正如承诺的那样,以下是剩余问题和我们的答案。

  • 如何识别 Tomcat 应用程序中的内存泄漏?

    您几乎肯定需要使用分析器来识别内存泄漏的根本原因。最新的 Sun JDK 包含 jhat 和 jmap 等工具。还有许多其他分析器可用,包括免费和商业的。Filip 和我在调查 Tomcat 内存泄漏时使用 YourKit,因为 YourKit 为开源开发者提供免费许可证。

  • 重新部署如何导致内存泄漏?

    这通常发生在 Tomcat 加载的类保留对 Web 应用程序加载的类的引用时。当 Web 应用程序停止时,Tomcat 类加载器继续保留对 Web 应用程序加载的类的引用。这个类保留对 Web 应用程序的类加载器的引用,而 Web 应用程序的类加载器又保留对其加载的所有类的引用。因此,Web 应用程序类加载器及其加载的所有类都不符合垃圾回收的条件。这会导致内存泄漏。典型的根本原因是 JDBC 驱动程序和日志框架。

  • 更改 Tomcat 使用的 JVM 的最佳方法是什么?

    要使用的 JVM 通过 JAVA_HOME(完整 JDK)或 JRE_HOME(仅 JRE)环境变量设置。设置它的正确位置将取决于您的环境,特别是如果 Tomcat 配置为在系统启动时自动启动。如果您可以自由选择设置位置,则根据您的操作系统使用 setenv.bat 或 setenv.sh。

  • 您推荐特定的 JVM 吗?

    不,我们不推荐。您选择的 JVM 供应商取决于您的操作系统。

  • 我应该使用哪个连接器将 Apache httpd 连接到 Tomcat?

    我们推荐 mod_proxy_http,mod_jk 紧随其后。通常,mod_proxy_ajp 不如 mod_proxy_http 或 mod_jk 稳定。请注意,mod_jk2 已被弃用,不应再使用。

  • 使用 SSL 时,maxKeepAliveRequests 的正确设置是什么?

    使用 SSL 时,应启用 HTTP keep alive,因为 SSL 握手对于每个请求来说都是一个相对昂贵的操作。

  • 如果我们在 Solaris 上运行 Tomcat,您是否不建议使用本机 APR 连接器?

    是的,我们不建议。我们从客户那里收到的反馈是 APR 连接器在 Solaris 上不稳定。

  • 我们之前尝试在 Solaris 上迁移到 mod_proxy_http,但遇到了几个错误。这些错误是否已解决?

    在不知道确切的错误或您使用的版本的情况下,很难发表评论。所有已知的 Apache httpd 问题和当前状态都可以在 ASF Bugzilla 数据库中找到。Tomcat 问题也可以在 Bugzilla 中找到。

  • 对于默认的阻塞 IO HTTP 连接器,maxKeepAliveRequests 应该使用什么值?

    对于高并发环境,将其设置为 1。否则,将其设置为您页面上的平均对象数,介于 10 到 100 之间。

  • 如何配置 JkOptions +DisableReuse?

    JkOptions +DisableReuse 应放置在您的 httpd.conf 文件中,与其他 mod_jk 设置一起。

  • 何时最适合使用非阻塞 IO HTTP 连接器?

    当您需要支持高并发且保持活动状态,并且 APR 不可用时,例如,因为它在您的平台上不稳定。

  • 如果我在 Apache Tomcat 前面使用 Apache httpd,性能会更好吗?

    这取决于。如果您将所有请求代理到 Tomcat,那么性能会略有下降。如果 httpd 处理一些请求(例如所有静态内容),那么您可能会看到一些好处。有许多基准测试试图证明一个连接器比另一个连接器更好。但是,这些基准测试都不太可能代表您的应用程序。唯一确定的方法是在您的环境中,使用真实的负载和使用模式进行测试。

  • Tomcat 可以在没有 Web 服务器的情况下投入生产使用吗?

    是的。这是否能为您的环境提供最佳性能将取决于该环境和您的应用程序。与上一个问题一样,唯一确定的方法是在您的环境中,使用真实的负载和使用模式进行测试。

  • 在 Tomcat 前面使用 Apache httpd 会增加安全性吗?

    您的安装安全性将取决于许多因素。使用或不使用 Apache httpd 不太可能显着改变您的安装安全性。其他因素,例如及时更新补丁和使用防火墙,通常对您的整体安全性水平影响更大。

  • 哪个 Apache httpd MPM 提供最佳性能?

    一如既往,这将取决于您的环境,但 httpd 性能调优文档提供了一些有用的通用指南。

  • SpringSource ERS 和 Apache Tomcat 之间的性能差异是什么?

    SpringSource ERS 不仅仅是 Apache Tomcat。从纯粹的 Tomcat 角度来看,性能不是差异化因素。ERS 的优势在于简单的安装、易于管理的升级和修补、对多个实例的支持以及所有组件的集成。

  • 我的公司使用 Tomcat 和 XYZ 应用程序服务器。Tomcat 与 XYZ 应用程序服务器相比如何,以及合并是否有好处?

    会有很多差异,而且重要的差异会因组织而异。首先确定您希望从应用程序服务器中获得什么,然后将该列表与市场进行比较。合并是有好处的。更大的一致性意味着更简单的维护、更少的培训等等。但是,也有成本。您需要查看您的组织及其计划如何合并(仅新项目、下一次主要发布的所有项目、现在所有项目等)以比较成本与相关收益。

  • 您有 Tomcat 和 XYZ 应用程序服务器的性能比较数据吗?

    该领域已发布各种报告。结果的有用性取决于测试与您的负载匹配的程度。一如既往,唯一确定的方法是在您的环境中,使用真实的负载和使用模式进行测试。

  • 负载测试 Tomcat 服务器的好方法是什么?

    有多种工具可用于驱动负载,包括免费和商业的。免费工具包括 abJMeter

  • 为了高可用性和性能,Tomcat 可以配置为为同一个 Web 应用程序启动多个 JVM 吗?

    Tomcat 不提供此配置选项。当然,您可以创建多个 Tomcat 实例,在每个实例上安装您的应用程序,然后跨实例进行负载均衡。

  • 有通用的 Tomcat 健康检查脚本吗?

    管理器状态页面可能是一个很好的起点。如果需要,您可以使用该 Servlet 的代码作为您自己更具体/更广泛检查的基础。如果您确实进行了增强,请考虑将您的增强贡献回 Apache Tomcat 社区。

  • logging.properties 文件位于何处?

    默认位置是 $CATALINA_BASE/conf。

关于平衡的疑问:调整维护策略

工程 | Rod Johnson | 2008年10月7日 | ...

经营一家公司在至少一个方面就像编写代码一样:即使你知道自己想实现什么,你也不总是一次就能做好——但如果你愿意在必要时进行返工,最终确实会取得更好的结果。在SpringSource,我们对最近宣布的维护策略有一个清晰的愿景:在开源社区、企业用户和Spring的创造者之间取得平衡,以造福所有人。然而,我们第一次并没有完全达到平衡,现在是时候进行一些重构了。

在过去的几周里,我……

通用服务定位器库

工程 | Mark Pollack | 2008年10月3日 | ...

本周在CodePlex上发布了CommonServiceLocator项目,其基本思想是提供一个与IoC容器无关的API,用于通过服务定位器解析依赖项。SpringSource的Erich Eichinger贡献了Spring.NET实现,谢谢Erich!

这是API,让你有一个基本概念 public interface IServiceLocator : System.IServiceProvider {

object GetInstance(Type serviceType); object GetInstance(Type serviceType, string key); IEnumerable GetAllInstances(Type serviceType); TService GetInstance(); TService GetInstance(string key); IEnumerable GetAllInstances(); } …

Spring Security 2.0.4 Released

Releases | Luke Taylor | October 02, 2008 | ...

We're pleased to an announce the release of Spring Security 2.0.4.

This release contains minor bugfixes and improvements. There are also some changes to the security namespace so you should update to the new 2.0.4 schema file if necessary. There are also some documentation updates, including two new reference appendices in the manual - one describing the database schema used within Spring Security and one describing the elements and attributes in the namespace and how they map to underlying implementation classes.

Download | Changelog | Reference Manual | Web Site

Get the Spring newsletter

Stay connected with the Spring newsletter

Subscribe

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all

Copyright © 2005 - 2025 Broadcom. All Rights Reserved. The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
Terms of Use Privacy Trademark Guidelines

Apache®, Apache Tomcat®, Apache Kafka®, Apache Cassandra™, and Apache Geode™ are trademarks or registered trademarks of the Apache Software Foundation in the United States and/or other countries. Java™, Java™ SE, Java™ EE, and OpenJDK™ are trademarks of Oracle and/or its affiliates. Kubernetes® is a registered trademark of the Linux Foundation in the United States and other countries. Linux® is the registered trademark of Linus Torvalds in the United States and other countries. Windows® and Microsoft® Azure are registered trademarks of Microsoft Corporation. “AWS” and “Amazon Web Services” are trademarks or registered trademarks of Amazon.com Inc. or its affiliates. All other trademarks and copyrights are property of their respective owners and are only mentioned for informative purposes. Other names may be trademarks of their respective owners.