Java Doc for SingleConnectionFactory.java in  » J2EE » spring-framework-2.5 » org » springframework » jms » connection » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » J2EE » spring framework 2.5 » org.springframework.jms.connection 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   org.springframework.jms.connection.SingleConnectionFactory

All known Subclasses:   org.springframework.jms.connection.SingleConnectionFactory102,
SingleConnectionFactory
public class SingleConnectionFactory implements ConnectionFactory,QueueConnectionFactory,TopicConnectionFactory,ExceptionListener,InitializingBean,DisposableBean(Code)
A JMS ConnectionFactory adapter that returns the same Connection from all SingleConnectionFactory.createConnection() calls, and ignores calls to javax.jms.Connection.close . According to the JMS Connection model, this is perfectly thread-safe (in contrast to e.g. JDBC).

You can either pass in a specific JMS Connection directly or let this factory lazily create a Connection via a given target ConnectionFactory. In the latter case, this factory just works with JMS 1.1; use SingleConnectionFactory102 for JMS 1.0.2.

Useful for testing and standalone environments in order to keep using the same Connection for multiple org.springframework.jms.core.JmsTemplate calls, without having a pooling ConnectionFactory underneath. This may span any number of transactions, even concurrently executing transactions.

Note that Spring's message listener containers support the use of a shared Connection within each listener container instance. Using SingleConnectionFactory in combination only really makes sense for sharing a single JMS Connection across multiple listener containers.
author:
   Mark Pollack
author:
   Juergen Hoeller
since:
   1.1
See Also:   org.springframework.jms.core.JmsTemplate
See Also:   org.springframework.jms.listener.SimpleMessageListenerContainer
See Also:   org.springframework.jms.listener.DefaultMessageListenerContainer.setCacheLevel



Field Summary
final protected  Loglogger
    

Constructor Summary
public  SingleConnectionFactory()
     Create a new SingleConnectionFactory for bean-style usage.
public  SingleConnectionFactory(Connection target)
     Create a new SingleConnectionFactory that always returns the given Connection.
public  SingleConnectionFactory(ConnectionFactory targetConnectionFactory)
     Create a new SingleConnectionFactory that always returns a single Connection that it will lazily create via the given target ConnectionFactory.

Method Summary
public  voidafterPropertiesSet()
     Make sure a Connection or ConnectionFactory has been set.
protected  voidcloseConnection(Connection con)
     Close the given Connection.
public  ConnectioncreateConnection()
    
public  ConnectioncreateConnection(String username, String password)
    
public  QueueConnectioncreateQueueConnection()
    
public  QueueConnectioncreateQueueConnection(String username, String password)
    
public  TopicConnectioncreateTopicConnection()
    
public  TopicConnectioncreateTopicConnection(String username, String password)
    
public  voiddestroy()
     Close the underlying shared connection.
protected  ConnectiondoCreateConnection()
     Create a JMS Connection via this template's ConnectionFactory.
protected  StringgetClientId()
     Return a JMS client ID for the single Connection created and exposed by this ConnectionFactory, if any.
protected  ExceptionListenergetExceptionListener()
     Return the JMS ExceptionListener implementation that should be registered with with the single Connection created by this factory, if any.
protected  ConnectiongetSharedConnectionProxy(Connection target)
     Wrap the given Connection with a proxy that delegates every method call to it but suppresses close calls.
public  ConnectionFactorygetTargetConnectionFactory()
     Return the target ConnectionFactory which will be used to lazily create a single Connection, if any.
public  voidinitConnection()
     Initialize the underlying shared Connection.
protected  booleanisReconnectOnException()
     Return whether the single Connection should be renewed when a JMSException is reported by the underlying Connection.
public  voidonException(JMSException ex)
     Exception listener callback that renews the underlying single Connection.
protected  voidprepareConnection(Connection con)
     Prepare the given Connection before it is exposed.
public  voidresetConnection()
     Reset the underlying shared Connection, to be reinitialized on next access.
public  voidsetClientId(String clientId)
     Specify a JMS client ID for the single Connection created and exposed by this ConnectionFactory.

Note that client IDs need to be unique among all active Connections of the underlying JMS provider.

public  voidsetExceptionListener(ExceptionListener exceptionListener)
     Specify an JMS ExceptionListener implementation that should be registered with with the single Connection created by this factory.
public  voidsetReconnectOnException(boolean reconnectOnException)
     Specify whether the single Connection should be reset (to be subsequently renewed) when a JMSException is reported by the underlying Connection.

Default is "false".

public  voidsetTargetConnectionFactory(ConnectionFactory targetConnectionFactory)
     Set the target ConnectionFactory which will be used to lazily create a single Connection.

Field Detail
logger
final protected Log logger(Code)




Constructor Detail
SingleConnectionFactory
public SingleConnectionFactory()(Code)
Create a new SingleConnectionFactory for bean-style usage.
See Also:   SingleConnectionFactory.setTargetConnectionFactory



SingleConnectionFactory
public SingleConnectionFactory(Connection target)(Code)
Create a new SingleConnectionFactory that always returns the given Connection. Works with both JMS 1.1 and 1.0.2.
Parameters:
  target - the single Connection



SingleConnectionFactory
public SingleConnectionFactory(ConnectionFactory targetConnectionFactory)(Code)
Create a new SingleConnectionFactory that always returns a single Connection that it will lazily create via the given target ConnectionFactory.
Parameters:
  targetConnectionFactory - the target ConnectionFactory




Method Detail
afterPropertiesSet
public void afterPropertiesSet()(Code)
Make sure a Connection or ConnectionFactory has been set.



closeConnection
protected void closeConnection(Connection con)(Code)
Close the given Connection.
Parameters:
  con - the Connection to close



createConnection
public Connection createConnection() throws JMSException(Code)



createConnection
public Connection createConnection(String username, String password) throws JMSException(Code)



createQueueConnection
public QueueConnection createQueueConnection() throws JMSException(Code)



createQueueConnection
public QueueConnection createQueueConnection(String username, String password) throws JMSException(Code)



createTopicConnection
public TopicConnection createTopicConnection() throws JMSException(Code)



createTopicConnection
public TopicConnection createTopicConnection(String username, String password) throws JMSException(Code)



destroy
public void destroy()(Code)
Close the underlying shared connection. The provider of this ConnectionFactory needs to care for proper shutdown.

As this bean implements DisposableBean, a bean factory will automatically invoke this on destruction of its cached singletons.




doCreateConnection
protected Connection doCreateConnection() throws JMSException(Code)
Create a JMS Connection via this template's ConnectionFactory.

This implementation uses JMS 1.1 API. the new JMS Connection
throws:
  javax.jms.JMSException - if thrown by JMS API methods




getClientId
protected String getClientId()(Code)
Return a JMS client ID for the single Connection created and exposed by this ConnectionFactory, if any.



getExceptionListener
protected ExceptionListener getExceptionListener()(Code)
Return the JMS ExceptionListener implementation that should be registered with with the single Connection created by this factory, if any.



getSharedConnectionProxy
protected Connection getSharedConnectionProxy(Connection target)(Code)
Wrap the given Connection with a proxy that delegates every method call to it but suppresses close calls. This is useful for allowing application code to handle a special framework Connection just like an ordinary Connection from a JMS ConnectionFactory.
Parameters:
  target - the original Connection to wrap the wrapped Connection



getTargetConnectionFactory
public ConnectionFactory getTargetConnectionFactory()(Code)
Return the target ConnectionFactory which will be used to lazily create a single Connection, if any.



initConnection
public void initConnection() throws JMSException(Code)
Initialize the underlying shared Connection.

Closes and reinitializes the Connection if an underlying Connection is present already.
throws:
  javax.jms.JMSException - if thrown by JMS API methods




isReconnectOnException
protected boolean isReconnectOnException()(Code)
Return whether the single Connection should be renewed when a JMSException is reported by the underlying Connection.



onException
public void onException(JMSException ex)(Code)
Exception listener callback that renews the underlying single Connection.



prepareConnection
protected void prepareConnection(Connection con) throws JMSException(Code)
Prepare the given Connection before it is exposed.

The default implementation applies ExceptionListener and client id. Can be overridden in subclasses.
Parameters:
  con - the Connection to prepare
throws:
  JMSException - if thrown by JMS API methods
See Also:   SingleConnectionFactory.setExceptionListener
See Also:   SingleConnectionFactory.setReconnectOnException




resetConnection
public void resetConnection()(Code)
Reset the underlying shared Connection, to be reinitialized on next access.



setClientId
public void setClientId(String clientId)(Code)
Specify a JMS client ID for the single Connection created and exposed by this ConnectionFactory.

Note that client IDs need to be unique among all active Connections of the underlying JMS provider. Furthermore, a client ID can only be assigned if the original ConnectionFactory hasn't already assigned one.
See Also:   javax.jms.Connection.setClientID
See Also:   SingleConnectionFactory.setTargetConnectionFactory




setExceptionListener
public void setExceptionListener(ExceptionListener exceptionListener)(Code)
Specify an JMS ExceptionListener implementation that should be registered with with the single Connection created by this factory.
See Also:   SingleConnectionFactory.setReconnectOnException



setReconnectOnException
public void setReconnectOnException(boolean reconnectOnException)(Code)
Specify whether the single Connection should be reset (to be subsequently renewed) when a JMSException is reported by the underlying Connection.

Default is "false". Switch this to "true" to automatically trigger recovery based on your JMS provider's exception notifications.

Internally, this will lead to a special JMS ExceptionListener (this SingleConnectionFactory itself) being registered with the underlying Connection. This can also be combined with a user-specified ExceptionListener, if desired.
See Also:   SingleConnectionFactory.setExceptionListener




setTargetConnectionFactory
public void setTargetConnectionFactory(ConnectionFactory targetConnectionFactory)(Code)
Set the target ConnectionFactory which will be used to lazily create a single Connection.



Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.