1 /**********************************************************************
2 * InJvmProcessorFactory.java
3 * created on 22.05.2007 by netseeker
4 * $Id: InJvmProcessorFactory.java,v 1.3 2007/11/17 10:57:03 netseeker Exp $
5 * $Log: InJvmProcessorFactory.java,v $
6 * Revision 1.3 2007/11/17 10:57:03 netseeker
7 * *** empty log message ***
8 *
9 * Revision 1.2 2007/05/27 22:13:09 netseeker
10 * *** empty log message ***
11 *
12 * Revision 1.1 2007/05/22 22:50:45 netseeker
13 * added In-JVM processing mode, fixed a minor bug within the serverside detection of ADAPTER_STRATEGY_DIRECT.
14 *
15 *
16 * ====================================================================
17 *
18 * Copyright 2005-2006 netseeker aka Michael Manske
19 *
20 * Licensed under the Apache License, Version 2.0 (the "License");
21 * you may not use this file except in compliance with the License.
22 * You may obtain a copy of the License at
23 *
24 * http://www.apache.org/licenses/LICENSE-2.0
25 *
26 * Unless required by applicable law or agreed to in writing, software
27 * distributed under the License is distributed on an "AS IS" BASIS,
28 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
29 * See the License for the specific language governing permissions and
30 * limitations under the License.
31 * ====================================================================
32 *
33 * This file is part of the EJOE framework.
34 * For more information on the author, please see
35 * <http://www.manskes.de/>.
36 *
37 *********************************************************************/
38 package de.netseeker.ejoe.core;
39
40 import de.netseeker.ejoe.ConnectionHeader;
41 import de.netseeker.ejoe.EJServer;
42
43 /***
44 * A simple factory using the EJServerRegistry to look up an existing local
45 * (within the same JVM) EJServer for the given client connection header.
46 * It produces instances of InJvmProcessor, which are able to communicate
47 * directly with the ServerHandler of the found local EJServer and can be used by EJClient
48 * instead of a socket connection.
49 * @author netseeker
50 * @since 0.3.9.3
51 */
52 public abstract class InJvmProcessorFactory
53 {
54 /***
55 * @param server
56 * @param clientHeader
57 * @return
58 */
59 public static InJvmProcessor createProcessor(ConnectionHeader clientHeader)
60 {
61 EJServerRegistry registry = EJServerRegistry.getInstance();
62 EJServer server = registry.lookup();
63 return new InJvmProcessor(server.getServerInfo(), clientHeader);
64 }
65 }