1. 25 1月, 2014 3 次提交
  2. 22 1月, 2014 1 次提交
    • S
      Introduce EJB-based transactional tests in the TCF · c0eafa9e
      Sam Brannen 提交于
      This commit introduces transactional integration tests executing
      against both JUnit and TestNG in the TestContext framework (TCF) using
      @TransactionAttribute in EJBs instead of Spring’s @Transactional
      annotation.
      
      These tests disprove the claims raised in SPR-6132 by demonstrating that
      transaction support in the TCF works as expected when a transactional
      EJB method that is configured with TransactionAttribute.REQUIRES_NEW is
      invoked. Specifically:
      
       - The transaction managed by the TCF is suspended while such an EJB
         method is invoked.
       - Any work performed within the new transaction for the EJB method is
         committed after the method invocation completes.
       - The transaction managed by the TCF is resumed and subsequently
         either rolled back or committed as necessary based on the
         configuration of @Rollback and @TransactionConfiguration.
      
      The configuration for the JUnit-based tests is straightforward and self
      explanatory; however, the configuration for the TestNG tests is less
      intuitive.
      
      In order for the TCF to function properly, the developer must ensure
      that test methods within a given TestNG test (whether defined locally,
      in a superclass, or somewhere else in the suite) are executed in the
      proper order. In a stand-alone test class this is straightforward;
      however, in a test class hierarchy (or test suite) with dependent
      methods, it is necessary to configure TestNG so that all methods within
      an individual test are executed in isolation from test methods in other
      tests. This can be achieved by configuring a test class to run in its
      own uniquely identified suite (e.g., by annotating each concrete
      TestNG-based test class with @test(suiteName = "< Some Unique Suite
      Name >")).
      
      For example, without specifying a unique suite name for the TestNG
      tests introduced in this commit, test methods will be executed in the
      following (incorrect) order:
      
       - CommitForRequiredEjbTxDaoTestNGTests.test1InitialState()
       - CommitForRequiresNewEjbTxDaoTestNGTests.test1InitialState()
       - RollbackForRequiresNewEjbTxDaoTestNGTests.test1InitialState()
       - RollbackForRequiredEjbTxDaoTestNGTests.test1InitialState()
       - CommitForRequiredEjbTxDaoTestNGTests.test2IncrementCount1()
      
      The reason for this ordering is that test2IncrementCount1() depends on
      test1InitialState(); however, the intention of the developer is that
      the tests for an individual test class are independent of those in
      other test classes. So by specifying unique suite names for each test
      class, the following (correct) ordering is achieved:
      
       - RollbackForRequiresNewEjbTxDaoTestNGTests.test1InitialState()
       - RollbackForRequiresNewEjbTxDaoTestNGTests.test2IncrementCount1()
       - RollbackForRequiresNewEjbTxDaoTestNGTests.test3IncrementCount2()
       - CommitForRequiredEjbTxDaoTestNGTests.test1InitialState()
       - CommitForRequiredEjbTxDaoTestNGTests.test2IncrementCount1()
       - CommitForRequiredEjbTxDaoTestNGTests.test3IncrementCount2()
       - RollbackForRequiredEjbTxDaoTestNGTests.test1InitialState()
       - RollbackForRequiredEjbTxDaoTestNGTests.test2IncrementCount1()
       - RollbackForRequiredEjbTxDaoTestNGTests.test3IncrementCount2()
       - CommitForRequiresNewEjbTxDaoTestNGTests.test1InitialState()
       - CommitForRequiresNewEjbTxDaoTestNGTests.test2IncrementCount1()
       - CommitForRequiresNewEjbTxDaoTestNGTests.test3IncrementCount2()
      
      See the JIRA issue for more detailed log output.
      
      Furthermore, @DirtiesContext(classMode = ClassMode.AFTER_CLASS) has
      been used in both the JUnit and TestNG tests introduced in this commit
      in order to ensure that the in-memory database is reinitialized between
      each test class.
      
      Issue: SPR-6132
      c0eafa9e
  3. 21 1月, 2014 5 次提交
  4. 20 1月, 2014 1 次提交
  5. 15 1月, 2014 1 次提交
  6. 08 1月, 2014 1 次提交
  7. 07 1月, 2014 1 次提交
  8. 06 1月, 2014 1 次提交
  9. 04 1月, 2014 1 次提交
  10. 30 12月, 2013 1 次提交
  11. 24 12月, 2013 1 次提交
  12. 20 12月, 2013 1 次提交
  13. 10 12月, 2013 1 次提交
  14. 03 12月, 2013 2 次提交
    • P
      Add a 'bill of materials' project for Maven users · 92e144a8
      Phillip Webb 提交于
      Add 'spring-framework-bom' meta-project that contains the other projects
      in a dependencyManagement section.
      
      Issue: SPR-11138
      92e144a8
    • B
      Add XML namespace for WebSocket config · 10f5d96a
      Brian Clozel 提交于
      This commit adds an XML namespace equivalent of @EnableWebSocket and
      @EnableWebSocketMessageBroker. Those are <websocket:handlers> and
      <websocket:message-broker> respectively.
      
      Examples can be found in the test suite.
      
      This commit also alters the way MessageHandler's subscribe to their
      respective MessageChannel's of interest. Rather than performing the
      subscriptions in configuration code, the message channels are now
      passed into MessageHandler's so they can subscribe themselves on
      startup.
      
      Issue: SPR-11063
      10f5d96a
  15. 27 11月, 2013 1 次提交
  16. 26 11月, 2013 1 次提交
    • P
      Fix remaining compiler warnings · 59002f24
      Phillip Webb 提交于
      Fix remaining Java compiler warnings, mainly around missing
      generics or deprecated code.
      
      Also add the `-Werror` compiler option to ensure that any future
      warnings will fail the build.
      
      Issue: SPR-11064
      59002f24
  17. 24 11月, 2013 1 次提交
    • R
      Consolidate websocket/messaging code · 4de3291d
      Rossen Stoyanchev 提交于
      Before this change spring-messaging contained a few WebSocket-related
      classes including WebSocket sub-protocol support for STOMP as well
      as @EnableWebSocketMessageBroker and related configuration classes.
      
      After this change those classes are located in the spring-websocket
      module under org.springframework.web.socket.messaging.
      
      This means the following classes in application configuration must
      have their packages updated:
      
      org.springframework.web.socket.messaging.config.EnableWebSocketMessageBroker
      org.springframework.web.socket.messaging.config.StompEndpointRegistry
      org.springframework.web.socket.messaging.config.WebSocketMessageBrokerConfigurer
      
      MessageBrokerConfigurer has been renamed to MessageBrokerRegistry and
      is also located in the above package.
      4de3291d
  18. 22 11月, 2013 1 次提交
    • P
      Upgrade to HSQLDB 2.3.1 · d9c44704
      Phillip Webb 提交于
      Replace `hsqldb:hsqldb:1.8.0.10` with `org.hsqldb:hsqldb:2.3.1` and
      fix breaking tests.
      
      Issue: SPR-10947
      d9c44704
  19. 21 11月, 2013 3 次提交
  20. 20 11月, 2013 4 次提交
  21. 15 11月, 2013 2 次提交
  22. 13 11月, 2013 1 次提交
  23. 06 11月, 2013 1 次提交
  24. 05 11月, 2013 1 次提交
  25. 31 10月, 2013 1 次提交
  26. 30 10月, 2013 2 次提交