使用 Python 构建 RabbitMQ 应用

工程 | Greg L. Turnquist | 2010年8月19日 | ...

RabbitMQ 是一个基于 高级消息队列协议 (AMQP) 的强大的消息代理。由于 AMQP 规范的特性,它很容易从许多平台连接,包括 Python。在这篇博客文章中,我们将

  • 创建一个简单的股票行情 Python 应用
  • 创建一个经纪人 Python 应用,决定何时买卖。
  • 比较 pika(RabbitMQ 团队创建的 AMQP 库)和 py-amqplib
你可以在 http://github.com/gregturn/amqp-demo 找到这篇博客的所有源代码。这假设你已经根据 你平台的说明 安装了 RabbitMQ 并启动它。我个人是在我的 Mac OS X 机器(雪豹)上运行它。

顺便说一句

这篇博客文章中编写的代码仅供演示之用。不要依赖这些算法来进行财务建议。
言归正传,让我们编写一些代码吧!

构建股票行情

消息解决方案的一个很好的例子是股票行情系统。证券交易所向代理发布消息,指示股票名称、价格和时间。
import pickle
import random
import time

class Ticker(object):
    def __init__(self, publisher, qname):
        self.publisher = publisher

        # This quickly creates four random stock symbols
        chars = range(ord("A"), ord("Z")+1)
        def random_letter(): return chr(random.choice(chars))
        self.stock_symbols = [random_letter…

Spring 3.0.4 现已可用

发行版 | Adam Fitzgerald | 2010年8月19日 | ...

Arjen Poutsma 刚刚 宣布 Spring 3.0.4 现已可用。此版本解决了 80 多个小问题,并更新了 Spring 对一些最近的第三方版本的支持,包括 Hibernate Core 3.6、Hibernate Validator 4.1、EclipseLink 2.1 和 EHCache 2.2。

下载 | 文档 | Javadoc API | 变更日志 | JIRA

Spring 的所有最新功能以及高级技术研讨会和路线图讨论都将在 10 月 19 日至 21 日在芝加哥举行的 SpringOne 2GX 2010 上举行。请务必 立即注册 以锁定提前注册折扣。

不要忘记 Spring 用户可以在 社区论坛 中提问,并在 JIRA 中识别问题。

使用 Grails 简化 Spring Security

工程 | Peter Ledbrook | 2010年8月11日 | ...

Spring Security 是一个用于保护应用程序的强大库,它带有令人眼花缭乱的选项。基于 Spring,它可以很容易地集成到 Grails 应用程序中。但是为什么不省去麻烦,使用 新的改进的 Grails 插件 呢?

该插件经历了几个进化阶段,始于 Acegi 插件。它最新的化身是针对 Spring Security 3 和 Spring 3 的完整重写。其结果之一是该插件仅适用于 Grails 1.2.2 及更高版本。另一个重大变化是,不再只有一个 Spring……

Virgo 里程碑 M03 发布

工程 | Christopher Frost | 2010年8月10日 | ...

Virgo 2.1.0.M03-incubator 可从 Virgo 网站 获取。更改包括

  • 进一步的性能改进,特别是对于 Windows 用户。
  • 将 Logback 版本更新到 0.9.24,将 SLF4J 更新到 1.6.1
  • 次要错误修复

通过调整入口/出口跟踪的日志级别来实现性能改进。

由于 Logback 的新版本,配置文件 'serviceability.xml' 的语法略有更改。更多信息可以在这里找到 这里

我们现在已经发布了一个关于 Virgo 未来计划的 计划 大纲,以便你更好地了解我们的方向。

Hyperic 通过 4.4 版本中的 vCenter API 扩展了 vSphere 支持

工程 | Charles Lee | 2010年8月6日 | ...

SpringSource Hyperic 4.4 本周早些时候发布,它通过与 VMware vCenter 集成来增强对 VMware 虚拟化环境的管理。虽然 Hyperic 长期以来一直支持 VMware 技术(又名 VMware Infrastructure 或 VI),但 VI Java API 的可用性 (http://vijava.sf.net) 使我们的工作变得更容易,因为强大的 SDK 简化了 Java 应用程序与 VI 的交互方式。通过采用 VI Java API,我们可以轻松地跟上 VMware 从 VI 到 VMware vSphere(如今天所知)的演变。这也允许我们……

Spring Web Flow 2.2.0.M1 发布

工程 | Rossen Stoyanchev | 2010年8月5日 | ...

我很高兴地宣布 Spring Web Flow 2.2 的第一个里程碑版本现已可以 下载。该版本也可以通过 Maven 里程碑存储库获得 http://maven.springframework.org/milestone。与 Spring Web Flow 2.1 一样,此版本需要 JDK 1.5、Spring 3 和 Spring Security 3。

此版本的重点是通过扩展支持的 JSF 2 功能 列表来满足 JSF 用户的需求。不久前 Web Flow 2.1 使得无需使用当今 JSF 1.2 通常使用的单独的 Sun Facelets jar 即可使用 JSF 2 依赖项。

在 Spring Web……

针对 Java 和 .NET 发布 Spring GemFire 1.0.0.M1

工程 | Costin Leau | 2010年8月3日 | ...

我很高兴地宣布 Spring GemFire 项目(Spring 家族的新成员)的第一个里程碑 版本 发布。Spring GemFire(简称 SGF)将 Spring 的概念和编程模型引入 GemFire,即 SpringSource 的分布式 数据管理 平台。此版本同时适用于 Java.NET

1.0.0.M1 中的功能包括

  • GemFire 基础结构的声明式依赖注入样式配置(例如缓存, 区域, 兴趣等)
  • 将异常转换为 Spring 的可移植DataAccess异常层次结构
  • 模板和回调支持,方便访问原生 API
  • 事务管理支持
  • Spring 支持的 GemFire 托管对象的连接
  • 自动生成基于非反射的实例化器s
请注意,目前这些功能中的一些仅在 Java 版本中可用。
通过 SGF,Spring 用户在与 GemFire 交互时应该感觉很熟悉,而熟悉 GemFire 的开发人员将看到 Spring 容器、其强大的 AOP 集成和多功能服务抽象的好处和灵活性。但不要相信我的话——下载项目并试用示例应用程序。它是一个基于控制台的“shell”,允许与数据网格进行临时交互;可以启动和停止节点,并查看在多个客户端之间透明共享的信息。

期待您的反馈!

在 Google App Engine 中使用 Spring Security

工程 | Luke Taylor | 2010年8月2日 | ...

Spring Security 以高度可定制而闻名,因此在我第一次尝试使用 Google App Engine 时,我决定创建一个简单的应用程序,该应用程序将通过实现一些核心 Spring Security 接口来探索 GAE 功能的使用。在这篇文章中,我们将看到如何

  • 使用 Google 帐户进行身份验证。
  • 在用户访问受保护的资源时实现“按需”身份验证。
  • 使用特定于应用程序的角色补充 Google 帐户中的信息。
  • 使用原生 API 将用户帐户数据存储在 App Engine 数据存储区中。
  • 根据分配给用户的角色设置访问控制限制。
  • 禁用特定用户的帐户以阻止访问。

你应该已经熟悉将应用程序部署到 GAE。启动和运行基本应用程序不需要很长时间,你将在 GAE 网站 上找到大量关于此方面的指导。

示例应用程序

该应用程序非常简单,使用 Spring MVC 构建。在应用程序根目录部署了一个欢迎页面,你可以在身份验证和注册到应用程序后转到“主页”。你可以在这里试用在 GAE 中部署的版本 这里

注册用户存储为 GAE 数据存储区实体。第一次身份验证时,新用户将被重定向到……

GORM 陷阱(第 3 部分)

工程 | Peter Ledbrook | 2010年7月28日 | ...

很高兴听到人们发现这些文章很有用,所以我非常高兴地为该系列添加另一篇文章。这次我将再次讨论关联,但重点是它们何时加载到内存中。

2010年8月2日更新 我添加了更多关于一对多关系中急切抓取的信息,因为有一些问题需要注意。

懒惰很酷

人们学习GORM关系时首先了解的一件事是,默认情况下它们是延迟加载的。换句话说,当您从数据库中获取一个域实例时,它的任何关系都不会被加载……

Spring MVC 3 展示

工程 | Keith Donald | 2010年7月22日 | ...

自从去年Spring 3发布以来,我一直在参与多个应用程序开发项目,并提取了各种框架功能的“展示”。这些“展示”不是参考应用程序或教程,它们更像是针对特定框架功能的验收测试。看完一个展示后,您应该对这项技术的功能有一个很好的了解。

我整理的第一个展示是关于Spring MVC 3(我们的Web框架)。它包括一个示例项目,以及配套的幻灯片演示和屏幕录制。深入研究之后,您应该对……

获取Spring时事通讯

通过Spring时事通讯保持联系

订阅

领先一步

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

了解更多

获取支持

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

了解更多

即将举行的活动

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

查看全部