Ben Hale

Ben Hale

博文Ben Hale

Bundlor 1.0.0.RC1 发布

工程 | 2009年12月23日 | ...

我非常激动地宣布 Bundlor 1.0.0.RC1 现已发布。自 M6 版本发布以来,Bundlor 进行了大量更改,包括检测和警告标准的增加,以及 ANT 和 Maven 配置的改进。

此里程碑标志着 1.0.0 版本的特性已完成。如果没有重大问题,此候选版本将很快发布为 1.0.0.RELEASE。

检测和警告标准

Bundlor 现在检测以下位置的 Java 类型

Bundlor 还扫描其生成的清单以查找以下问题并根据它们生成警告

标准化和简化配置

在 RC1 版本发布之前,Bundlor 最糟糕的部分之一是各种前端(命令行、ANT、Maven)的功能和配置不一致。不幸的是,RC1 必须更改所有这些配置参数,但最终结果是 Bundlor 配置的一致性,在许多情况下也得到了简化。

请参阅 Bundlor 文档,了解您的配置选项……

dm Server 2.0.0.M6

工程 | 2009年10月27日 | ...

dm Server 2.0.0.M6 现已发布,可从此处下载。

此版本紧随 M5 版本发布,我们正逐步接近第一个 2.0.0 候选版本。这一次,我们非常注重修复未解决的缺陷,并且只添加了少量新功能。请查看 M6 发布说明,了解我们修复的所有缺陷和添加的功能的完整详细信息。请继续在我们的博客评论区、论坛JIRA 上提供您的反馈。

新增和值得注意

将 dm Kernel 和 dm Server 作为服务运行

dm Kernel 和 dm Server 现在可以在 Windows 和 UNIX 机器上作为服务启动。要在 Windows 上安装服务,您需要编辑$HOME/bin/service/conf/wrapper.conf文件以正确列出内核或服务器的路径。然后运行$HOME/bin/service/windows.bat install。还有其他要运行的命令,dm Server 文档介绍了其他命令。

UNIX 用户更容易,因为$HOME/bin/service目录包含许多init.d兼容……

dm Server 2.0.0.M5

工程 | 2009年10月12日 | ...

dm Server 2.0.0.M5 现已发布,可从此处下载。

我们正在接近 2.0.0 发布周期的尾声,因此此里程碑的大部分工作都集中在锁定用户交互模型上。请查看 M5 发布说明,了解我们一直在做的工作的完整详细信息。请继续通过我们的博客评论、论坛JIRA 提供反馈。

也请关注博客,了解本“新增和值得注意”中提及的许多新功能的详细文章。

新增和值得注意

部署配置文件

属性文件现在可以部署在pickup目录或任何已配置的存储库中。然后,这些文件的内容可在 OSGi 的ConfigurationAdmin中访问,其 PID 指定为不带.properties扩展名的文件名。

计划属性和特性

计划现在可以拥有用于替换的全局定义属性。

<attributes>
	<attribute name="version" value="[1.0.0, 2.0.0)"/>
</attributes>

<artifact type="bundle" name="org.springframework.context.support" version="${version}"/>

计划中的工件可以定义属性,这些属性在部署时转换为 Bundle 清单头。

<artifact type="bundle" name="my.webapp" version="[1.0.0, 2.0.0)">
	<property name="Web-ContextPath" value="/foo"/>
</artifact>

管理控制台

管理控制台的“工件”页面已进行了美化,以树形结构呈现用户安装工件的依赖项。此外,这些树的每个级别都进行了延迟加载,从而提高了加载时间性能。

Admin Console

命令行 Shell

dm Server 现在附带一个命令行 shell,以取代以前使用的 Equinox 控制台。此控制台可通过-shell启动命令在本地访问。

$ bin/startup.sh -shell
<KE0001I> Kernel starting.
<KE0002I> Kernel started.
<SH0001I> dm Kernel ssh shell available on port 2402.

     @@@ ***
    @@@ *****            .__.                  .__.            .__.  .__.
   @@@@ ******         __|  |  _____     _____.|  |__    ___…

Bundlor 增加了对 Blueprint 服务的支持

工程 | 2009年9月26日 | ...

我很高兴地宣布,从新发布的 1.0.0.M6 版本开始,Bundlor 现在支持 OSGi Blueprint 服务文件。

与对 Spring-DM 上下文的支持一样,Bundlor 会扫描默认位置(OSGI-INF/blueprint/*.xml)和使用自定义Bundle-Blueprint清单头指定的位置中的 Blueprint 服务配置文件。当找到这些文件时,它们会扫描类和接口名称,并将这些类型的包添加到 Bundlor 创建的 OSGi 清单中。

有关 Bundlor 的信息和下载此最新里程碑,请访问 Bundlor 项目页面……

Slices 菜单栏截屏

工程 | 2009年8月7日 | ...

我很高兴宣布 SpringSource Slices 的新截屏。此截屏演示了menu-bar示例应用程序的创建过程。它展示了主机如何使用一组切片动态填充菜单栏而无需重新启动,并且可以完全解耦,无需确切知道菜单栏中可能有哪些项目。此外,这些切片只提供其特定内容,并包含来自主机 bundle 的格式和其他窗口内容。

Slice 菜单栏 (5:19)

源代码

Git 迁移

工程 | 2009年7月15日 | ...

你们中的一些人可能已经注意到,在最近的帖子中,dm Server 团队一直在引用 Git 仓库 URL。该团队一直在迁移其所有源代码,我很高兴地宣布此迁移已完成。以下列表包含由 dm Server 团队管理的代码的 Git URL。如果您之前在 SVN 中引用了等效的仓库,请转而克隆这些新仓库。

此公告仅涵盖由 dm Server 团队管理的代码,而不包括 Spring 组合的全部。其他项目将以自己的速度进行转换,并且 Subversion……

Maven PAR 插件 1.0.0.M1

工程 | 2009 年 6 月 24 日 | ...

在 SpringSource dm Server(当时的应用程序平台)推出后不久,Thorsten Maus 创建了一个 Maven 插件用于创建 PAR 文件。这是一项很棒的社区贡献,我们甚至在 dm Server 1.0.x 的 入门指南 中使用了它。

随着 dm Server 2.0 里程碑的推进,我们一直在为 PAR 文件添加新功能。最有趣的功能是现在 PAR 文件不仅可以包含 JAR 文件。随着 OSGi RFC 66 的引入,dm Server 弃用了 Web Modules,转而使用带有.war

OSGi Test Stubs 1.0.0.M1

工程 | 2009年6月23日 | ...

我很高兴地宣布 SpringSource OSGi Test Stubs 的 1.0.0.M1 版本发布。这些存根提供了一种在不需要完整 OSGi 容器的情况下对复杂 OSGi 框架交互进行单元测试的方法。

问题

随着 dm Server 团队的开发,我们发现对我们来说最大的测试问题领域之一是BundleActivator。我们的BundleActivators做了很多将服务发布到服务注册表以及使用ServiceTrackers 消费服务的工作。这些类型的任务涉及对BundleContexts、Bundles、ServiceRegistrations 和ServiceReferences 的许多交织调用。最初,这些激活器足够简单,没有对它们进行太多单元测试,我们依赖集成测试来捕获引入的任何错误。然而,随着时间的推移,激活器变得越来越复杂,单元测试成为一个更紧迫的需求。我们开始使用 EasyMock 进行这些测试,但发现它们非常复杂、难以维护,最重要的是难以理解。
@Test
public void startAndStop() throws Exception {
    BundleActivator bundleActivator = new DumpBundleActivator();
    BundleContext context = createMock(BundleContext.class);
    Filter filter = createMock(Filter.class);
    
    String filterString = "(objectClass=" + DumpContributor.class.getName() + ")";
    
    expect(context.createFilter(filterString)).andReturn(filter);
    context…

通过 JMX 访问 dm Server 仓库内容

工程 | 2009年6月22日 | ...

dm Server 2.0.0.M1 版本中,我们增加了对共享仓库的支持。作为此新功能的一个后续,我们增加了通过 JMX 浏览这些仓库的支持。

现在,使用 JMX 客户端连接到正在运行的 dm Server 实例会显示一个 Repository 组。在此组下,每个已配置的仓库(链式仓库除外)都有一个 bean,它返回其中包含的所有工件的概要。该 bean 还公开了一个方法,用于根据给定 bean 的类型、名称和版本返回完整的详细 ArtifactDescriptor。

JMX Repository Browsing

显然,像 JConsole 这样的工具主要用于显示少量有针对性的数据。对于更大的数据集,AMS 团队目前正在开发一种更易于查看的可视化工具。

使用 OSGi 配置文件与 Bundlor

工程 | 2009年5月18日 | ...

当管理和转换 SpringSource Enterprise Bundle Repository 中包含的许多 bundle 时,记住哪些包被引导委托、从系统 bundle 导出或从系统中的其他 bundle 导出变得非常困难。此信息很重要,因为您可能不想导入被引导委托的包,您可能希望导入“0”处的系统 bundle 包,并且您希望为所有其他包定义自定义导入。记住哪些包属于这些类别中的每一个最终会有点容易出错,并且定义模板……

领先一步

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

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有