View Javadoc

1   /*
2    * EL4J, the Extension Library for the J2EE, adds incremental enhancements to
3    * the spring framework, http://el4j.sf.net
4    * Copyright (C) 2008 by ELCA Informatique SA, Av. de la Harpe 22-24,
5    * 1000 Lausanne, Switzerland, http://www.elca.ch
6    *
7    * EL4J is published under the GNU Lesser General Public License (LGPL)
8    * Version 2.1. See http://www.gnu.org/licenses/
9    *
10   * This program is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13   * GNU Lesser General Public License for more details.
14   *
15   * For alternative licensing, please contact info@elca.ch
16   */
17  package ch.elca.el4j.services.remoting.socketfactory;
18  
19  import java.io.IOException;
20  import java.rmi.server.RMISocketFactory;
21  
22  import org.springframework.beans.factory.InitializingBean;
23  
24  /**
25   * This bean is used initialize the new {@link RMISocketFactory}, more
26   * precisely the {@link RMITimeoutSocketFactoryInitializingBean}. It sets the
27   * timeout to the value defined in the spring configuration file rmi-timeout.xml
28   * (in mandatory) and then sets the global socket factory from which RMI gets
29   * sockets to the new {@link RMITimeoutSocketFactoryInitializingBean}.
30   *
31   * @svnLink $Revision: 3883 $;$Date: 2009-08-04 15:35:01 +0200 (Di, 04. Aug 2009) $;$Author: swismer $;$URL: https://el4j.svn.sourceforge.net/svnroot/el4j/branches/el4j_3_1/el4j/framework/modules/remoting_core/src/main/java/ch/elca/el4j/services/remoting/socketfactory/RMITimeoutSocketFactoryInitializingBean.java $
32   *
33   * @author Dominik Zindel (DZI)
34   */
35  public class RMITimeoutSocketFactoryInitializingBean implements InitializingBean {
36  
37  	/**
38  	 * The SocketTimeout.
39  	 */
40  	private int m_timeout;
41  
42  	/**
43  	 * The constructor for the Bean.
44  	 * @throws IOException
45  	 */
46  	public RMITimeoutSocketFactoryInitializingBean() throws IOException {
47  		super();
48  	}
49  
50  	/**
51  	 * {@inheritDoc}
52  	 */
53  	public void afterPropertiesSet() throws IOException {
54  		RMITimeoutSocketFactory factory = new RMITimeoutSocketFactory(m_timeout);
55  		if (RMISocketFactory.getSocketFactory() == null) {
56  			RMISocketFactory.setSocketFactory(factory);
57  		}
58  	}
59  
60  	/**
61  	 * @return Returns the timeout.
62  	 */
63  	public int getTimeout() {
64  		return m_timeout;
65  	}
66  
67  	/**
68  	 * @param timeout
69  	 *            Is the timeout to set.
70  	 */
71  	public void setTimeout(int timeout) {
72  		m_timeout = timeout;
73  	}
74  }