You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@river.apache.org by Timothy C Haas <ha...@uwm.edu> on 2017/02/24 20:21:34 UTC

classserver.jar refusing connection

Folks; I spoke too soon.  About 10 seconds after starting jspace.shl
(see below) I get the following error -- apparently caused by classerver.jar
refusing a connection attempt from phoenix.jar.  I've tried to lift all
security restrictions and I think I've got everyone using port 4160.  As
you can see, classserver.jar is indeed running.  I also tried replacing
SYSTEM_PORT with 4160 in the phoenix.config file, below: same error.  How
can I get classserver.jar to tell me why it refused the connection?

Regards,
-Tim

----------------------------------------------------------------------

Feb 24, 2017 11:48:32 AM org.apache.river.tool.ClassServer run
INFO: ClassServer started [[/projects/builder-group/jpg/apache-river/lib-dl/, /p
rojects/builder-group/jpg/apache-river/lib/, /projects/builder-group/jpg/apache-
river/lib-ext/], port 4160]
- HTTP Server Running -
[haas@tscc-0-22 jsutils]$ Activation.main: an exception occurred: recovery faile
d; nested exception is:
        java.lang.ClassNotFoundException: org.apache.river.phoenix.Activation (c
ould not determine preferred setting; original codebase: "http://tscc-0-23.sdsc.
edu:4160/phoenix-dl.jar     http://tscc-0-23.sdsc.edu:4160/jsk-dl.jar")
org.apache.river.reliableLog.LogException: recovery failed; nested exception is:

        java.lang.ClassNotFoundException: org.apache.river.phoenix.Activation (c
ould not determine preferred setting; original codebase: "http://tscc-0-23.sdsc.
edu:4160/phoenix-dl.jar     http://tscc-0-23.sdsc.edu:4160/jsk-dl.jar")

...

Caused by: java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.ja
va:339)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocket
Impl.java:200)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java
:182)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)

------------------------ jspace.shl -------------------------------------

rm /home/haas/jinitmp/*.*
rm /home/haas/log/*.*
echo [Deleting contents of jinitmp and log directories]
#
rh="/projects/builder-group/jpg/apache-river"
myconfigs="/home/haas/jsutils"
host=$(hostname)
#
# Start an http server.
#
java -Djava.rmi.server.useCodebaseOnly=false \
   -Djava.security.policy=policy.all -jar ${rh}/lib/start.jar httpd.config &
sleep 5
echo - HTTP Server Running -
#
# Activation daemon
#
java -Djava.rmi.server.useCodebaseOnly=false \
   -Djava.security.manager= \
   -Djava.security.policy=policy.all \
   -Djava.rmi.server.codebase="http://${host}:4160/phoenix-dl.jar \
    http://${host}:4160/jsk-dl.jar" \
   -DserverHost=${host} \
   -jar ${rh}/lib/phoenix.jar phoenix.config &

------------------------ policy.all -------------------------------------

grant {
    permission java.security.AllPermission "", "";
};

------------------------ httpd.config -------------------------------------

import org.apache.river.start.NonActivatableServiceDescriptor;
import org.apache.river.start.ServiceDescriptor;

org.apache.river.start {

   serviceDescriptors = new ServiceDescriptor[]{
     new NonActivatableServiceDescriptor(
       "", "/home/haas/jsutils/policy.all",
 "/projects/builder-group/jpg/apache-river/lib/classserver.jar",
       "org.apache.river.tool.ClassServer",
       new String[]{"-port", "4160", "-dir",
"/projects/builder-group/jpg/apache-river/lib-dl/:/projects/builder-group/jpg/apache-river/lib/:/projects/builder-group/jpg/apache-river/lib-ext/",
 "-verbose"})
     };
 }

------------------------ phoenix.config -------------------------------------

// a JRMP configuration with no access control
import org.apache.river.phoenix.*;
import net.jini.jrmp.JrmpExporter;
import java.rmi.activation.ActivationSystem;

org.apache.river.phoenix {
    registryPort = ActivationSystem.SYSTEM_PORT;
    registryExporter = new RegistrySunExporter(registryPort);
    activatorExporter = new ActivatorSunJrmpExporter(registryPort);
    systemExporter = new SunJrmpExporter(4, registryPort);
    monitorExporter = new JrmpExporter(registryPort);
    instantiatorExporter = null;
    persistenceDirectory = "log";
}



Re: classserver.jar refusing connection

Posted by Niclas Hedhman <ni...@hedhman.org>.
1. Try to connect with a command line tool (curl, wget,...). If that
doesn't work, then all stuff on client side can be ignore for now.

2. Connection Refused means that the class-server will not even see an
attempted connection. It is refused at OS level. I would guess that there
is a firewall blocking port 4160, OR that the class-server has not bound
the listener to the interface you are trying to connect on. You should be
able to use (on Linux)  "iptables --list" to verify firewall rules (might
be overwhelmingly complex) and "netstat -tulpn" to check what/how is bound
to 4160 port.

HTH
Niclas

On Sat, Feb 25, 2017 at 4:21 AM, Timothy C Haas <ha...@uwm.edu> wrote:

> Folks; I spoke too soon.  About 10 seconds after starting jspace.shl
> (see below) I get the following error -- apparently caused by
> classerver.jar
> refusing a connection attempt from phoenix.jar.  I've tried to lift all
> security restrictions and I think I've got everyone using port 4160.  As
> you can see, classserver.jar is indeed running.  I also tried replacing
> SYSTEM_PORT with 4160 in the phoenix.config file, below: same error.  How
> can I get classserver.jar to tell me why it refused the connection?
>
> Regards,
> -Tim
>
> ----------------------------------------------------------------------
>
> Feb 24, 2017 11:48:32 AM org.apache.river.tool.ClassServer run
> INFO: ClassServer started [[/projects/builder-group/jpg/apache-river/lib-dl/,
> /p
> rojects/builder-group/jpg/apache-river/lib/, /projects/builder-group/jpg/
> apache-
> river/lib-ext/], port 4160]
> - HTTP Server Running -
> [haas@tscc-0-22 jsutils]$ Activation.main: an exception occurred:
> recovery faile
> d; nested exception is:
>         java.lang.ClassNotFoundException: org.apache.river.phoenix.Activation
> (c
> ould not determine preferred setting; original codebase: "
> http://tscc-0-23.sdsc.
> edu:4160/phoenix-dl.jar     http://tscc-0-23.sdsc.edu:4160/jsk-dl.jar")
> org.apache.river.reliableLog.LogException: recovery failed; nested
> exception is:
>
>         java.lang.ClassNotFoundException: org.apache.river.phoenix.Activation
> (c
> ould not determine preferred setting; original codebase: "
> http://tscc-0-23.sdsc.
> edu:4160/phoenix-dl.jar     http://tscc-0-23.sdsc.edu:4160/jsk-dl.jar")
>
> ...
>
> Caused by: java.net.ConnectException: Connection refused
>         at java.net.PlainSocketImpl.socketConnect(Native Method)
>         at java.net.AbstractPlainSocketImpl.doConnect(
> AbstractPlainSocketImpl.ja
> va:339)
>         at java.net.AbstractPlainSocketImpl.connectToAddress(
> AbstractPlainSocket
> Impl.java:200)
>         at java.net.AbstractPlainSocketImpl.connect(
> AbstractPlainSocketImpl.java
> :182)
>         at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
>
> ------------------------ jspace.shl -------------------------------------
>
> rm /home/haas/jinitmp/*.*
> rm /home/haas/log/*.*
> echo [Deleting contents of jinitmp and log directories]
> #
> rh="/projects/builder-group/jpg/apache-river"
> myconfigs="/home/haas/jsutils"
> host=$(hostname)
> #
> # Start an http server.
> #
> java -Djava.rmi.server.useCodebaseOnly=false \
>    -Djava.security.policy=policy.all -jar ${rh}/lib/start.jar
> httpd.config &
> sleep 5
> echo - HTTP Server Running -
> #
> # Activation daemon
> #
> java -Djava.rmi.server.useCodebaseOnly=false \
>    -Djava.security.manager= \
>    -Djava.security.policy=policy.all \
>    -Djava.rmi.server.codebase="http://${host}:4160/phoenix-dl.jar \
>     http://${host}:4160/jsk-dl.jar" \
>    -DserverHost=${host} \
>    -jar ${rh}/lib/phoenix.jar phoenix.config &
>
> ------------------------ policy.all -------------------------------------
>
> grant {
>     permission java.security.AllPermission "", "";
> };
>
> ------------------------ httpd.config ------------------------------
> -------
>
> import org.apache.river.start.NonActivatableServiceDescriptor;
> import org.apache.river.start.ServiceDescriptor;
>
> org.apache.river.start {
>
>    serviceDescriptors = new ServiceDescriptor[]{
>      new NonActivatableServiceDescriptor(
>        "", "/home/haas/jsutils/policy.all",
>  "/projects/builder-group/jpg/apache-river/lib/classserver.jar",
>        "org.apache.river.tool.ClassServer",
>        new String[]{"-port", "4160", "-dir",
> "/projects/builder-group/jpg/apache-river/lib-dl/:/
> projects/builder-group/jpg/apache-river/lib/:/projects/
> builder-group/jpg/apache-river/lib-ext/",
>  "-verbose"})
>      };
>  }
>
> ------------------------ phoenix.config ------------------------------
> -------
>
> // a JRMP configuration with no access control
> import org.apache.river.phoenix.*;
> import net.jini.jrmp.JrmpExporter;
> import java.rmi.activation.ActivationSystem;
>
> org.apache.river.phoenix {
>     registryPort = ActivationSystem.SYSTEM_PORT;
>     registryExporter = new RegistrySunExporter(registryPort);
>     activatorExporter = new ActivatorSunJrmpExporter(registryPort);
>     systemExporter = new SunJrmpExporter(4, registryPort);
>     monitorExporter = new JrmpExporter(registryPort);
>     instantiatorExporter = null;
>     persistenceDirectory = "log";
> }
>
>
>


-- 
Niclas Hedhman, Software Developer
http://polygene.apache.org <http://zest.apache.org> - New Energy for Java