Pro Spring Integration (27) 更多

  • 第183页
    勘误 private DirectChannel channel; @Value("#{ticketChannel}") public void setChannel(DirectChannel channel) { this.channel = channel; } 应为: ``` private QueueChannel channel; @Value("#{ticketChan...
  • 第331页
    By default, an error channel with the name `errorChannel` is created when using the Spring Integration XML namespace. The default error channel is a `PublishSubscribeChannel` that may be modified b...
  • 第241页
    In the last case, if the input Message payload is not a Map type, the Message header will be passed as a Message header with a returned Message output. 更正 In the last case, if the input Message p...
  • 第477页
    第14章开始介绍了Web Services的集成,不过它依赖于Spring Web Services project([http://static.springsource.org/spring-ws/sites/1.5]),不过这项目不是评价不好么?
  • 第434页
    AMQP集成 AMQP是一个消息协议的开源标准。AMQP也允许应用异步地,可靠地,安全地通讯。不同于JMS,AMQP是一个wire-level format,它提供了network message framing;JMS呢,则是一个Java API。通过遵守AMQP标准,...
  • 第397页
    JMS集成 JMS原本是Java 2 Enterprise Edition(J2EE)规范的一部分,Java Community Process Java Specification Request (JSR) 914对它进行了定义。JMS是Java Platform Standard Edition(Java SE)和Java Platform ...
  • 第386页
    这几段怎么看起来这么熟悉呢,之前在哪一章节看过类似的话呢?
  • 第370页
    Mac下的普通用户也不能创建1024以下的端口的Socket Server,这点和Linux一样。
  • 第367页
    Native Event File Adapter The default Spring Integration inbound file adapter polls the input directory for any new file. Depending on the polling rate, there can be a lab between when a new file i...
  • 第360页
    chapter 10 monitoring and management 这一节比较独立,也蛮重要的,以后在工作实际中要用到jmx,和jvm监控时,再仔细研读。
  • 第332页
    Setting Up a Default Error Channel Setting Up a Per-Integration Error Channel 运行测试代码中发现,虽然两个demo中error channel都记录了错误日志,但,前者向console端抛出了异常,后者没有。 暂时还不知道...
  • 第330页
    History in EAI and MOM: The Dead Letter Queue There are a number of approaches to handling errors in EAI and message-oriented middleware (MOM). In a typical EAI implementation, several endpoints ma...
  • 第325页
    Secure Channels As a last topic in this chapter, the subject of security will be touched on - specifically how to secure a message channel. Spring Integration uses the Spring Security project (http...
  • 第321页
    Gateways Receiving No Response A gateway maps a method invocation to a messaging system. However, a typical method invocation generally expects the method to always return, or at least throw an exc...
  • 第311页
    从311页开始居然详细的讲解了如何在STS(SpringSource Tool Suite)2.5中配置,当然是基于图形化的xml配置。这是在我看的有关spring的书中比较少见的。
  • 第310页
    <int:poller> <int:interval-trigger interval="500"/> </int:poller> 在spring-integration 2.1的版本已经不支持了。我更新后的版本为 <int:inbound-channel-adapter channel="ticketChann...
  • 第301页
    Once a message has arrived from the message channel, the message will be dispatched to the provided message handler. There is no need to define a trigger since the message is pushed to the message ...
  • 第300页
    The PollingConsumer needs at least a single thread to perform message polling and handling. However, the PollingConsumer can delegate the message to perform message polling and handling. threads by...
  • 第296页
    List 9-3 TicketMessageHandler.java 示例代码中包名不是 package com.apress.prospringintegration.endpoints.eventdrivenconsumer; 而是 package com.apress.prospringintegration.endpoints.pollingconsumer;
  • 第291页
    Message Assignment vs. Message Grab When the message consumer is much slower than the message sender, there is a potential for large numbers of messages to queue up in the message channel. One appr...
  • 第291页
    Messaging Endpoint API Spring Integration provides a general API that supports sending and consuming messages to and from a message channel. Sending messages is very straightforward, but receiving...
  • 第277页
    本节介绍了工作流,但是spring-integration-activiti还处理sandbox状态,Josh Long在GitHub上对应得项目显示更新还是一年前的。具体可看官方论坛上的这贴: [http://forum.springsource.org/showthread.php?10073...
  • 第240页
    Message Mappers: Moving Transformation into the Framework Method-Mapping Transformation 这一小节没怎么看懂
  • 第224页
    A Wire Tap interceptor is used to log the message as it goes through the byte-array channel. This is a useful tool for debugging; it allows the message got be logged any time it goes through the in...
  • 第223页
    The first transformation supports the standard operation of converting an object to a string. This is a very common scenario (e.g. sending a message to a file adapter).
  • 第222页
    There are several options of the transformer method input parameter type and the return value type. 下面的总结没怎么看懂
  • 第434页
    AMQP Integration AMQP is an open standard for messaging protocol, AMQP also allow applications to communicate asynchronously, reliably, and securely. Unlike JMS, AMQP is a wire-level format, which ...

A Little Java, A Few Patterns (5)

  • 第151页
    UnionHasPt类还需要重写forTrans方法 @Override public boolean forTrans(Point q, Shape s) { return s.accept(new UnionHasPt(p.minus(q))); }
  • 第96页
    new Top(new Anchovy(), new Top(new Tuna(), new Top(new Anchovy(), new Top(new Tuna(), new Top(new Anchovy(), new Bot()))))) .accept(new LtdSubst(3, new Salmon(), new Anchovy())) new Top(new Salmon(...
  • 第166页
    Does that mean that anybody can write yy.p = new Bot() and thus change a pieman like yy? 36 No, because yy's type is Peiman, p isn't available. Only addTop, remTop, substTop, and occTop are visible...
  • 第113页
    If Java had parametric polymorphism for methods, no downward cast would be necessary for our visitors (Martin Odersky and Philip Wadler, Pizza into Java: Translating Theory into Practice, Conferenc...
  • 第17页
    And a third? 21 Here's one more: new Onion( new Lamb( new Onion( new Skewer()))). Are there only Onions on this Shish: new Skewer()? 22 true, because there is neither Lamb nor Tomato on new Skewer() (2回应)

Beginning Groovy, Grails and Griffon (4)

  • 第44页
    this, owner, and delegate The this refers to the instance of the enclosing class where a closure is defined. If the closure is defined within the scope of a script, the enclosing class is the scrip...
  • 第107页
    原文 > grails createdomain-class todo 应为 > grails create-domain-class todo
  • 第114页
    One important thing to keep in mind when using static scaffolding: because all the controller code and views code are generated for the domain class, Grails will not update this code if the domain ...
  • 第83页
    Compile-time Metaprogramming 这一节讲了Groovy2.0出现的一些新注解,比较有意思。 Groovy在代码中加入静态编译相关的注解业界还存在争议吧。

High Performance JavaScript (2)

  • chapter2
    Summary Where you store and access data in JavaScript can have a measurable impact on the overall performance of your code. There are four places to access data from: literal values, variables, arr...
  • 第33页
    One word of caution: it is not recommended to use this technique for object methods. Many object methods use this to determine the context in which they are being called, and storing a method in a ...

Programming Groovy (11) 更多

  • 第20页
    I like to define Groovy as "a language that has been reborn serveral times". James Strachan and Bob McWhirter started it in 2003, and it was commissioned into Java Specification Request(JSR 241) in...
  • 第97页
    eq1 = new Equipment() { println "Calculator 1" } 现有版本的Groovy已经不支持这种写法了 应该改为 eq1 = new Equipment({ println "Calculator 1" })
  • 第68页
    In Groovy, if is not an expression; it is a statement, and it evaluates to null. The problem I just showed you is not confined to if statements— you’ll run into this for any statement in Groovy. ...
  • 第67页
    How’s that? The iterator (for loop) treated the elements as objects, so there was no error on line number 16—Groovy took the type informa- tion more as a suggestion. On line number 19, you ended ...
  • 第64页
    The Groovy compiler does not, however, use the Java annotations like @Deprecated and @Override. If you declare a method with @Deprecated in Groovy, groovyc will compile the code but does not retain...
  • 第62页
    There is a limitation in Groovy, however. Java allows you to refine or override a method for specific values of an enum. Groovy does not sup- port that. The following code will result in a compilat...
  • 第47页
    勘误: class Car { final miles = 0 def getMiles() { println "getMiles called" miles } def drive(dist) { if (dist > 0) miles += dist } } def car = new Car() println "Miles: $car.miles" println 'D...
  • 第80页
    Ruby/Groovy: Strong Dynamic Java/C#: Strong Static Javascript/Perl: Weak Dynamic C/C++: Weak Static
  • 第68页
    return Is Not Always Optional In Groovy, if is not an expression; it is a statement, and it evaluates to null. The problem I just showed you is not confined to if statements— you’ll run into this...
  • 第263页
    在介绍使用groovy.xml.StreamingMarkupBuilder生成xml时,没有说到这种方式生成出来的xml字符串是没有格式化的,书中显示运行结果都是格式化好的(groovy.xml.MarkupBuilder),这点不是很理解。
  • 第289页
    The reason for this exception is that the method was added to the interface Calendar, and by default ExpandoMetaClass does not provide that to inheriting/implementing classes. 自己运行是没有报任何...