Maybe try to start a new thread and in the new thread start your server
On Feb 11, 2012 11:58 AM, "rcbandit2" <[email protected]> wrote:

>
> I register the Java network server as service. When I try to deploy the
> OSGI
> bundle with the java server Glassfish freezes. But I can successfully make
> a
> connection with the java network client. It seems that when I try to deploy
> the OSGI bundle there is a infinite loop. How I can solve the problem? This
> is the code of the Activator:
>
> package org.DX_57.osgi.CB_27.impl;
>
> import java.util.Properties;
> import org.DX_57.osgi.CB_27.api.CBridge;
> import org.osgi.framework.BundleActivator;
> import org.osgi.framework.BundleContext;
>
>
>
>
> public class CBridgeApp implements BundleActivator {
>
>    public void start(BundleContext bc) throws Exception {
>        bc.registerService(CBridge.class.getName(), new CBridgeImpl(), new
> Properties());
>        bc.registerService(EchoServer.class.getName(), new EchoServer(), new
> Properties());
>
>
>
>    }
>
>    public void stop(BundleContext bc) throws Exception {
>        bc.ungetService(bc.getServiceReference(CBridge.class.getName()));
>    }
> }
>
>
>
>
>
>
> rcbandit2 wrote:
> >
> > This is my simple example of OSGI bundle:
> > http://www.2shared.com/file/h6lFjppY/CB_27.html
> > Where I have to put the source code of the java network server in order
> to
> > work?
> >
> >
> >
> > nfndx wrote:
> >>
> >> It does not seem like you need your network server to be a osgi service.
> >> So
> >> if you just need your network server to be started then create a osgi
> >> bundle. Also create an activator for this bundle( remember to set this
> >> activator in the manifest) . In the start method if the activator you
> >> should be able to start your network server
> >>
> >> Hope that helps
> >> Regards
> >> Ivanhoe
> >> On Feb 10, 2012 5:32 PM, "rcbandit2" <[email protected]> wrote:
> >>
> >>>
> >>> Any ideas or reply?
> >>>
> >>>
> >>>
> >>> rcbandit2 wrote:
> >>> >
> >>> > Hi,
> >>> >
> >>> > I created this Java network server:
> >>> >
> >>> > import java.net.*;
> >>> > import java.io.*;
> >>> >
> >>> > public class EchoServer
> >>> > {
> >>> > ServerSocket m_ServerSocket;
> >>> >
> >>> > public EchoServer()
> >>> > {
> >>> > try
> >>> > {
> >>> > // Create the server socket.
> >>> > m_ServerSocket = new ServerSocket(12111);
> >>> > }
> >>> > catch(IOException ioe)
> >>> > {
> >>> > System.out.println("Could not create server socket at 12111.
> >>> Quitting.");
> >>> > System.exit(-1);
> >>> > }
> >>> >
> >>> > System.out.println("Listening for clients on 12111...");
> >>> >
> >>> > // Successfully created Server Socket. Now wait for connections.
> >>> > int id = 0;
> >>> > while(true)
> >>> > {
> >>> > try
> >>> > {
> >>> > // Accept incoming connections.
> >>> > Socket clientSocket = m_ServerSocket.accept();
> >>> >
> >>> > ClientServiceThread cliThread = new ClientServiceThread(clientSocket,
> >>> > id++);
> >>> > cliThread.start();
> >>> > }
> >>> > catch(IOException ioe)
> >>> > {
> >>> > System.out.println("Exception encountered on accept. Ignoring. Stack
> >>> Trace
> >>> > :");
> >>> > ioe.printStackTrace();
> >>> > }
> >>> > }
> >>> > }
> >>> >
> >>> > public static void main (String[] args)
> >>> > {
> >>> > new EchoServer();
> >>> > }
> >>> >
> >>> > class ClientServiceThread extends Thread
> >>> > {
> >>> > Socket m_clientSocket;
> >>> > int m_clientID = -1;
> >>> > boolean m_bRunThread = true;
> >>> >
> >>> > ClientServiceThread(Socket s, int clientID)
> >>> > {
> >>> > m_clientSocket = s;
> >>> > m_clientID = clientID;
> >>> > }
> >>> >
> >>> > public void run()
> >>> > {
> >>> > // Obtain the input stream and the output stream for the socket
> >>> > // A good practice is to encapsulate them with a BufferedReader
> >>> > // and a PrintWriter as shown below.
> >>> > BufferedReader in = null;
> >>> > PrintWriter out = null;
> >>> >
> >>> > // Print out details of this connection
> >>> > System.out.println("Accepted Client : ID - " + m_clientID + " :
> >>> Address -
> >>> > " +
> >>> > m_clientSocket.getInetAddress().getHostName());
> >>> >
> >>> > try
> >>> > {
> >>> > in = new BufferedReader(new
> >>> > InputStreamReader(m_clientSocket.getInputStream()));
> >>> > out = new PrintWriter(new
> >>> > OutputStreamWriter(m_clientSocket.getOutputStream()));
> >>> >
> >>> > // At this point, we can read for input and reply with appropriate
> >>> output.
> >>> >
> >>> > // Run in a loop until m_bRunThread is set to false
> >>> > while(m_bRunThread)
> >>> > {
> >>> > // read incoming stream
> >>> > String clientCommand = in.readLine();
> >>> >
> >>> > System.out.println("Client Says :" + clientCommand);
> >>> >
> >>> > if(clientCommand.equalsIgnoreCase("quit"))
> >>> > {
> >>> > // Special command. Quit this thread
> >>> > m_bRunThread = false;
> >>> > System.out.print("Stopping client thread for client : " +
> m_clientID);
> >>> > }
> >>> > else
> >>> > {
> >>> > // Echo it back to the client.
> >>> > out.println(clientCommand);
> >>> > out.flush();
> >>> > }
> >>> > }
> >>> > }
> >>> > catch(Exception e)
> >>> > {
> >>> > e.printStackTrace();
> >>> > }
> >>> > finally
> >>> > {
> >>> > // Clean up
> >>> > try
> >>> > {
> >>> > in.close();
> >>> > out.close();
> >>> > m_clientSocket.close();
> >>> > System.out.println("...Stopped");
> >>> > }
> >>> > catch(IOException ioe)
> >>> > {
> >>> > ioe.printStackTrace();
> >>> > }
> >>> > }
> >>> > }
> >>> > }
> >>> > }
> >>> >
> >>> > I want to insert this code into OSGI bundle. At the moment I don't
> >>> have
> >>> > configured Glassfish with datasource to test the bundle. What I have
> >>> to
> >>> do
> >>> > in order to configure the Java server to listen for incomming
> >>> connections
> >>> > when I deploy it on Glassfish server?
> >>> >
> >>> > Do I need to add somenthing into the OSGI bundle activator to make
> the
> >>> > Java server listen for incomming connections?
> >>> >
> >>> > Best Wishes
> >>> >
> >>>
> >>> --
> >>> View this message in context:
> >>>
> http://old.nabble.com/How-to-add-Java-network-server-into-OSGI-bundle-tp33295152p33301156.html
> >>> Sent from the Apache Felix - Users mailing list archive at Nabble.com.
> >>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: [email protected]
> >>> For additional commands, e-mail: [email protected]
> >>>
> >>>
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://old.nabble.com/How-to-add-Java-network-server-into-OSGI-bundle-tp33295152p33305414.html
> Sent from the Apache Felix - Users mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to