Commit Graph

7873 Commits

Author SHA1 Message Date
Phillip Webb
a14161f0ca JettyRequestUpgradeStrategy 2013-04-23 13:47:43 -07:00
Rossen Stoyanchev
3cd4909ba3 Minor fix 2013-04-23 11:56:57 -04:00
Rossen Stoyanchev
84089bf396 Add HandlerProvider interface
HandlerProvider is now an interface that can be used to plug in
WebSocket handlers with per-connection scope semantics. There are two
implementations, of the interface, one simple and a second that creates
handler instances through AutowireCapableBeanFactory.

HandlerProvider also provides a destroy method that is used to
apply a destroy callback whenever a client connection closes.
2013-04-23 11:48:10 -04:00
Juergen Hoeller
f91be88f8c Temporary workaround for JDK 8 test compilation/execution problem
Issue: SPR-9639
2013-04-23 14:03:03 +02:00
Juergen Hoeller
8ab16607d3 Support for JDK 8's "common" ForkJoinPool
Issue: SPR-9644
2013-04-23 14:01:51 +02:00
Juergen Hoeller
506f6a7c57 Adapter for JDK 8's standard parameter name reflection facilities
Issue: SPR-9643
2013-04-23 14:00:24 +02:00
Juergen Hoeller
1733237579 Initial support for JDK 8 Date-Time (JSR-310)
This is largely derived from our existing Joda-Time support, with corresponding classes wherever possible.

Issue: SPR-9641
2013-04-23 13:59:19 +02:00
Juergen Hoeller
cd996ba18f Upgrading to JDK 1.8 bytecode along with ASM 4.1 patch
ASM has been patched to accept 1.8 bytecode simply through removing an assertion. As a consequence, we have an embedded copy of the ASM sources now instead of jarjar'ing the original ASM jar. The sources originate from ASM 4.1; for CGLIB 3.0 compatibility, a further assertion has been removed.

Issue: SPR-9639
2013-04-23 13:57:26 +02:00
Juergen Hoeller
19f783bdd7 Fixed general test suite problems found during OpenJDK 8 upgrade
Issue: SPR-9639
2013-04-23 13:54:19 +02:00
Juergen Hoeller
9c09a0a037 Consistent Map/Set ordering
Use LinkedHashMaps/Sets wherever exposed to users, and code tests defensively in terms of expected Map/Set ordering. Otherwise, there'll be runtime order differences between JDK 7 and JDK 8 due to internal HashMap/Set implementation differences.

Issue: SPR-9639
2013-04-23 13:53:09 +02:00
Juergen Hoeller
b5d44e1d15 Revised Joda-Time support (as a side effect of JSR-310 support in Spring 4.0)
Issue: SPR-9641
2013-04-23 13:50:25 +02:00
Juergen Hoeller
d3a4068768 Minimized ASM usage
In particular, avoid accidental usage of ASM for core JDK types - which will fail in case of a new bytecode version in the JDK, even if the application itself has been compiled with an earlier bytecode target.

Issue: SPR-10292
2013-04-23 13:49:25 +02:00
Rossen Stoyanchev
f9078c947f Add WebSocketMessage and WebSocketHandler sub-interfcs
There is now a WebSocketMessage type with TextMessage and BinaryMessage
sub-types. WebSocketHandler is also sub-divided into TextMessageHandler
and BinaryMessageHandler, so that applications can choose to handle
text, binary, or both.

Also in this commit, the SockJsHandler and SockJsSession interfaces
have been removed. SockJsService now accepts WebSocketHandler.
2013-04-22 17:59:19 -04:00
Rossen Stoyanchev
2046629945 Add WebSocketClient and WebSocketConnectionManager
This change adds a WebSocketClient abstraction and enables the use of
WebSocketHandler on the client side.
2013-04-21 10:04:44 -04:00
Rossen Stoyanchev
ab5d60d343 Improve APIs for WebSocket and SockJS messages 2013-04-18 22:04:18 -04:00
Rossen Stoyanchev
20a9df772a Update README-WEBSOCKET.md 2013-04-17 16:40:45 -04:00
Rossen Stoyanchev
c810d95316 Update README-WEBSOCKET.md 2013-04-17 16:39:44 -04:00
Rossen Stoyanchev
967eae0efb Add README-WEBSOCKET.md 2013-04-17 16:36:51 -04:00
Rossen Stoyanchev
d475e16604 Modify build version for branch CI snapshots 2013-04-17 14:34:33 -04:00
Rossen Stoyanchev
6273fc41f1 Rename SockJS session type to include "SockJs" 2013-04-17 11:26:20 -04:00
Rossen Stoyanchev
2794224b28 Add onClosed to SockJsSessionSupport sub-classes
As opposed to close(), which actively closes the session, the
onClosed method is called when the underlying connection has been
closed or disconnected.
2013-04-17 11:19:28 -04:00
Rossen Stoyanchev
f056f7e2ad Init and destroy internally created SockJS schedulers 2013-04-15 15:28:06 -04:00
Rossen Stoyanchev
177e082172 Refactor SockJS and WebSocket layer configuration
Add HandlerProvider<T> class
Modify HandshakeHandler to accept + adapt WebSocketHandler at runtime
Modify SockJsService to accept + adapt SockJsHandler at runtime
2013-04-15 11:03:24 -04:00
Rossen Stoyanchev
71e82069ce Add SockJsSessionFactory 2013-04-15 11:03:24 -04:00
Rossen Stoyanchev
3a2c15b0fd Add flush method to ServerHttpResponse
This is useful to make sure response headers are written to the
underlying response. It is also useful in conjunction with long
running, async requests and HTTP streaming, to ensure the Servlet
response buffer is sent to the client without additional delay and
also causes an IOException to be raised if the client has gone away.
2013-04-15 11:03:24 -04:00
Rossen Stoyanchev
db6f8f2d4b Add package-info, javadoc, and update package names 2013-04-15 11:03:24 -04:00
Rossen Stoyanchev
592da431a8 Add Glassfish request upgrade strategy 2013-04-15 11:03:24 -04:00
Rossen Stoyanchev
6bd6311214 Refactor SockJS code
- configure SockJS handler by type (as well as by instance)
- add method to obtain SockJS handler instance via SockJsConfiguration
- detect presense of jsr-356 and use it if available
2013-04-15 11:03:24 -04:00
Rossen Stoyanchev
4ad6091510 Debug and test SockJS server support 2013-04-15 11:03:24 -04:00
Rossen Stoyanchev
41153efd03 Polish in EndpointRegistration 2013-04-15 11:03:24 -04:00
Rossen Stoyanchev
6cf17449fa Add endpoint connection manager 2013-04-15 11:03:24 -04:00
Rossen Stoyanchev
914e969ac3 Add support for @ServerEndpoint annotated classes 2013-04-15 11:03:24 -04:00
Rossen Stoyanchev
88447e503b Add first cut of SockJS server support 2013-04-15 11:03:24 -04:00
Rossen Stoyanchev
30ab5953f9 Add EndpointRequestUpgradeStrategy
Now there is just one EndpointHandshakeRequestHandler that works on
different runtimes.
2013-04-15 11:03:24 -04:00
Rossen Stoyanchev
741927664c Update package structure 2013-04-15 11:03:24 -04:00
Rossen Stoyanchev
715018fe75 Add handshake request handler abstraction 2013-04-15 11:03:24 -04:00
Rossen Stoyanchev
cdd7d7bd88 Add javax.websocket.Endpoint configuration support 2013-04-15 11:03:24 -04:00
Rossen Stoyanchev
4e67f809fb Add spring-websocket module 2013-04-15 11:03:23 -04:00
Phillip Webb
34bcdcfe85 Merge pull request #269 from sslavic/SPR-10438
# By Stevo Slavic
* SPR-10438:
  Fix JasperReport tests to ignore missing fonts
2013-04-13 13:01:45 -07:00
Stevo Slavic
d80ea16291 Fix JasperReport tests to ignore missing fonts
Add 'jasperreports.properties' to ignore missing fonts in order that
tests pass on Linux.

The upgraded JasperReports 5.0.4 throws a JRFontNotFoundException when
a report font is not found. This caused Spring MVC tests to fail since
the example reports used the 'Arial' font which is not shipped with most
Linux distributions.

An alternative fix would have been to package fonts with the reports
using JasperReports font extension support.

Issue: SPR-10438
2013-04-13 12:47:54 -07:00
Phillip Webb
761bd9fd56 Merge branch '3.2.x'
* 3.2.x:
  Update javadoc external links
  JdbcTemplate etc
  Removed unnecessary default value of LifecycleGroup.lifecycleBeans
  Introduced public ArgumentPreparedStatementSetter and ArgumentTypePreparedStatementSetter classes
  Defensively uses JDBC 3.0 getParameterType call for Oracle driver compatibility
  Preparations for 3.2.3
  Fixed ReflectiveMethodResolver to avoid potential UnsupportedOperationException on sort
  Fixed Jaxb2Marshaller's partial unmarshalling feature to consistently apply to all sources
  Update copyright year in reference documentation

Conflicts:
	build.gradle
	gradle.properties
	spring-context/src/main/java/org/springframework/context/support/DefaultLifecycleProcessor.java
	spring-jdbc/src/main/java/org/springframework/jdbc/core/ArgumentPreparedStatementSetter.java
	spring-jdbc/src/main/java/org/springframework/jdbc/core/ArgumentTypePreparedStatementSetter.java
2013-04-13 09:39:09 -07:00
Sam Brannen
cf687fcc72 Fix typos in ServiceLocatorFactoryBean 2013-04-12 14:21:24 +02:00
Phillip Webb
db3bbb5f8c Update javadoc external links
Fix broken external javadoc links for URLs that have been recently
moved.
2013-03-29 19:48:42 -07:00
Juergen Hoeller
942cab4d87 OpenJpaDialect javadoc makes no reference to TopLink anymore 2013-03-30 01:39:10 +01:00
Juergen Hoeller
6e6446cc7c EclipseLinkJpaDialect uses JPA 2.0's EntityManager unwrap method now for retrieving the underlying UnitOfWork/Connection 2013-03-30 01:36:29 +01:00
Juergen Hoeller
184455d630 Upgraded to Hibernate 4.2.0
HibernateJpaDialect's HibernateConnectionHandle does not call close() for Hibernate 4.x anymore, since on 4.2, the exposed Connection handle isn't a "borrowed connection" wrapper but rather the actual underlying Connection - with a close() call immediately returning the Connection to the pool and making the local handle invalid for further use within the transaction.

Also using JPA 2.0's EntityManager unwrap method now for retrieving the underlying Hibernate Session.

Issue: SPR-10395
2013-03-30 01:34:18 +01:00
Juergen Hoeller
6d710563cc Upgraded to Commons FileUpload 1.3 and JSF 2.1, removing deprecated JSF 1.1 VariableResolvers 2013-03-29 22:51:42 +01:00
Phillip Webb
39d043d773 Update javadoc external links
Fix broken external javadoc links for URLs that have been recently
moved.
2013-03-29 11:46:06 -07:00
Juergen Hoeller
15441da969 Removed Apache Commons HttpClient support (superseded by Apache HttpComponents) 2013-03-29 15:03:55 +01:00
Juergen Hoeller
8fab14dfeb Upgraded to JasperReports 5.0 (preserving compatibility with all previous releases) and POI 3.9 (preserving compatibility with POI 3.5+) 2013-03-29 14:52:30 +01:00