无法绑定到Openshift上的端口

时间:2013-05-20 14:21:14

标签: java activemq openshift

我在openshift的应用程序中运行了一个嵌入式activemq消息服务器。根据{{​​3}},您只能绑定15000 - 35530。我已经尝试过以下操作,但这是一个严重的错误。可能是什么问题?

我正在使用春天。这是我applicationContext.xml

的一部分
<amq:broker brokerName="tentacle-broker" start="true">
    <amq:persistenceAdapter>
        <amq:amqPersistenceAdapter directory="/var/lib/openshift/username/jbossews-2.0/jbossews-2.0/activemq2" maxFileLength="32mb"/>
    </amq:persistenceAdapter>
    <amq:transportConnectors>
        <amq:transportConnector uri="tcp://127.10.180.129:15001"/>
    </amq:transportConnectors>
</amq:broker>

这是我遇到的错误

WARNING: could not generate unique stub
java.net.BindException: Permission denied
        at java.net.PlainSocketImpl.socketBind(Native Method)
        at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
        at java.net.ServerSocket.bind(ServerSocket.java:376)
        at java.net.ServerSocket.<init>(ServerSocket.java:237)
        at java.net.ServerSocket.<init>(ServerSocket.java:128)
        at org.apache.activemq.util.IdGenerator.<clinit>(IdGenerator.java:54)
        at org.apache.activemq.broker.region.RegionBroker.<clinit>(RegionBroker.java:81)
        at org.apache.activemq.broker.BrokerService.createRegionBroker(BrokerService.java:1830)
        at org.apache.activemq.broker.BrokerService.createRegionBroker(BrokerService.java:1824)
        at org.apache.activemq.broker.BrokerService.createBroker(BrokerService.java:1781)
        at org.apache.activemq.broker.BrokerService.getBroker(BrokerService.java:766)
        at org.apache.activemq.broker.BrokerService.start(BrokerService.java:497)
        at org.apache.activemq.broker.BrokerService.autoStart(BrokerService.java:463)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProces
r.java:293)
va:130)
ava:394)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1405)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:563)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:872)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:423)
        at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4791)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:963)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1600)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
:

1 个答案:

答案 0 :(得分:0)

在Openshift中,您只能绑定到服务器为您分配的端口。通常,这是环境变量$ OPENSHIFT_JBOSS_PORT的值(它在墨盒之间变化),并且齿轮之间的值不同。绑定到任何其他端口将被报告为SELinux策略违规并被拒绝。