更改JBoss EAP 6端口号

时间:2014-01-24 09:54:19

标签: java

在jboss 4中,我们使用dom4j SAX解析器来读取server.xml。它工作正常,但在JBoss EAP 6的情况下它不起作用。.Below是jboss 4中使用的代码

public static Document modifyAttributeValue(Document document, String elementName, String attributeName, String attributeValue) {
    if (document == null)
        return document;
    try {
      Element element = (Element) document.selectSingleNode(elementName);
        if (element != null) {
            Attribute attribute = element.attribute(attributeName);
            attribute.setValue(attributeValue);
        }
    } catch (Exception e) {
        logger.error("Failed to modify attribute.", e);
    }
    return document;
}

我将元素视为空值。

1 个答案:

答案 0 :(得分:2)

拉​​杰什,

正如eis早先指出的那样,JBoss EAP 6.x基于JBoss AS 7.x代码库,与早期版本(JBoss AS 4.x,5.x,6.x,JBoss EAP)有很大不同5.x的)

server.xml中定义的端口不再像以前的版本那样定义,而是在JBOSS_HOME/standalone/configuration/standalone.xml中定义。

尝试使用Eclipse(或您喜欢的IDE)调试代码,放置几个断点并逐行执行代码。看看为什么你得到NULL,我的猜测是你传递的文件是NULL,因此你的modifyAttributeValue()方法也会返回NULL

现在,如果您想以编程方式更改端口,则几乎没有不同的方法可以实现。

最简单的方法是使用JBoss CLI(本机接口):

JBOSS_HOME/bin/jboss-cli.sh --connect

/socket-binding-group=standard-sockets/socket-binding=http:write-attribute(name=port,value=8081)

希望有所帮助。