使用 SpringSource Slices 进行可插拔样式

工程 | Andy Wilkinson | 2009 年 7 月 10 日 | ...

自从我们 宣布 SpringSource Slices 以来,许多用户和客户都询问了如何使用 Slices 使其网站的样式和品牌可插拔。在本篇博文中,我将演示使用 Slices 是多么容易。

可插拔样式

我有一个标准的 war 文件,名为 styled.host.war,其中包含一个非常简单的 index.html 页面
<html>
	<head>
		<title>SpringSource Slices Pluggable Styling Demonstration</title>
		<link rel="StyleSheet" href="styles/main.css" type="text/css" />
	</head>
	<body>
		<div class="header">
			<div class="title">SpringSource Slices</div>
			<div class="subtitle">Pluggable Styling Demonstration</div>
		</div>
	</body>
</html>

如您所见,它正在查找 CSS 文件……

使用 Yourkit 查找内存泄漏

工程 | Dave Syer | 2009 年 7 月 5 日 | ...

今天我使用 Yourkit 获得了非常棒的体验,我想写一篇简短的推荐。我已经几年没有在实际工作中使用它了,即使在那时它也是我找到的最好的工具,但现在它确实非常流畅。我没有对市场进行全面调查,这不是练习的目的:我只是想用一个工具来解决问题。

这是我今天的故事;沮丧,然后是恼怒,最后是满意。我在 Spring Batch 中怀疑存在内存泄漏,我需要快速找到它。这个故事的背景是,我见过很多内存泄漏,但我已经有一段时间没有在第一线处理过它了。我每天都 生活STS 中(有时也会在梦中出现),因此我需要一个在 IDE 中运行良好的工具。我尝试了两个工具,但只是因为第一个选择不起作用。我尝试的两个是 TPTPYourkit……

将 STS 安装到 Eclipse 3.5 中

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

今天对 Eclipse 以及所有参与 Eclipse 生态系统的人来说都是重要的一天:祝贺 Eclipse 团队发布 Eclipse 3.5,又名 Galileo。您可以在 http://www.eclipse.org/galileo/ 上阅读有关此版本的更多信息。我鼓励大家今天下载 Eclipse 3.5 并试用它。

由于 SpringSource 坚定地致力于 Eclipse,并且我们正在 Eclipse 技术栈之上构建我们的 SpringSource Tool Suite,因此我很高兴地报告说 STS 可以与 3.5 一起安装和使用。以下是一些入门说明

更新:此帖子中的说明已过时,可能对您不起作用。请参阅 STS 安装说明……

Maven PAR 插件 1.0.0.M1

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

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

随着 dm Server 2.0 里程碑的进展,我们一直在向 PAR 文件添加新功能。最有趣的功能是,现在 PAR 文件可以包含不仅仅是 JAR 文件。随着 OSGi RFC 66 的引入,dm Server 已 弃用 Web 模块,转而使用标准 Web 容器文件,使用.war

消息传递在 OSGi DevCon Europe 上邂逅 OSGi

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

昨天我在 OSGi DevCon Europe 上发表了演讲,主题是如何使用 Spring Integration 和 dm Server 以务实的方式解决大型应用程序中的常见问题。在演讲前后,我与几位希望获得更多有关这些想法的信息的人进行了交谈。本篇博文将概述我所讨论的内容。

我将直接从演示文稿的摘要开始。

任何项目在其活跃开发的生命周期中都会不断发展。通常,开发人员会通过添加代码来添加功能并修复产品所有者提出的问题。此过程自然会使代码库不断增长……

OSGi 测试存根 1.0.0.M1

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

我很高兴地宣布 SpringSource 的 OSGi 测试存根的 1.0.0.M1 版本发布。这些存根提供了一种方法来单元测试复杂的 OSGi 框架交互,而无需完整的 OSGi 容器。

问题

随着 dm Server 团队的开发,我们发现对我们来说,最大的测试问题领域之一是BundleActivators。我们的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 存储库内容

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

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

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

JMX Repository Browsing

显然,像 JConsole 这样的东西主要用于显示少量目标数据。对于较大的数据集,AMS 团队目前正在开发视觉效果,使之更容易查看。

使用 SpringSource Slices 创建模块化 Web 应用程序

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

更新:为 Git 添加了子模块说明。

我过去曾谈到过提供对真正模块化应用程序的支持,我很高兴地宣布您现在可以访问 **SpringSource Slices** 的早期原型代码。

构建和安装

您可以从我们的 Git 存储库访问源代码

git clone git://git.springsource.org/slices/slices.git
git submodule init
git submodule update

要构建 Slices 的打包版本,只需从 build-slices 目录运行 ant clean jar package

cd slices/build-slices
ant clean jar package

这将在 target/artifacts 中生成一个 zip 文件,其中包含 Slices 子系统,然后可以将其安装在 dm Server 2.0 之上

安装 Slices 只需将新的子系统添加到 dm Server,然后更新 dmServer 的配置文件以启动新的子系统即可。Slices 应该可以与任何最近的 dm Server 2.0 快照构建 一起使用。在这里,我使用的是 2.0.0.CI-R326-B274,我已经将其下载并解压缩到我的桌面上

 unzip target/artifacts/springsource-slices-BUILD-20090622083953.zip -d ~/Desktop/springsource-dm-server-2.0.0.CI-R326-B274

接下来,必须更新 dm Server 的 kernel.properties 配置以包含新的 slices 子系统。打开 dm Server 安装的 config/kernel.properties 文件,并编辑配置文件部分以列出 slices 子系统并为配置文件指定合适的名称(我将其命名为 slices)

#######################
# Profile Configuration
#######################
profile.name=slices…

探索 Roo 的架构

工程 | Ben Alex | 2009 年 6 月 18 日 | ...

上个月,我们了解了如何使用 Spring Roo(我们为 Java 开发人员提供的新的生产力工具)在短短几分钟内 构建一个功能齐全的企业应用程序。虽然许多 Java 开发人员已经 开始 使用 评估 Roo 帮助 节省 时间 他们的 项目 上,但我收到了很多来自好奇 Roo 实际工作原理的人提出的问题。在本篇博文中,我将深入探讨 Roo 的架构,包括其目标、原型化的替代方案、设计原理和实现细节。到最后,您将很好地理解是什么让 Roo 运转起来以及为什么它的方法……

将 WAR 部署到 OSGi Web 容器现在变得更加容易了

工程 | Andy Wilkinson | 2009 年 6 月 16 日 | ...

正如 Rob 在其 OSGi Web 容器简介 中提到的那样,dm Server 会自动将系统包导入 Web 包中。这已被证明非常有用,尤其是在将现有的 WAR 文件部署到 OSGi 环境中时。我最近花了一些时间将此功能从 dm Server 的 Web 子系统移动到 OSGi Web 容器 RI 中。本篇博文描述了新功能以及如何使用它。

启用系统包的导入

您可以通过两种方式指示 RI 导入所有导出的系统包。

当您安装 Web 包时,您现在可以使用 SpringSource-SystemPackages……

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获取支持

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

了解更多

即将举行的活动

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

查看全部