如何将嵌入式glassfish 3.1配置为对3700的JNDI使用备用端口

如何解决如何将嵌入式glassfish 3.1配置为对3700的JNDI使用备用端口

| 我有一个测试,该测试成功使用嵌入式glassfish来测试JCA的部署。 但是,与正在使用端口3700的GlassFish 2.1的运行版本存在冲突。 如何将嵌入式GlassFish对象配置为对命名服务使用备用端口?理想情况下,可以在测试中进行配置。 这是当前的测试代码,
    GlassFishRuntime gfRuntime = GlassFishRuntime.bootstrap();
    GlassFish glassfish = gfRuntime.newGlassFish();
    glassfish.start();

    deployJca(glassfish);

    // Do tests on object acquired from JNDI.

    glassfish.stop();
    gfRuntime.shutdown();
例外是,
Caused by: org.omg.CORBA.COMM_FAILURE: SEVERE: IOP00410016: Unable to create IIOP listener on the specified host all interfaces and port 3,700  vmcid: OMG  minor code: 16  completed: No
Caused by: java.net.BindException: Address already in use: bind
    

解决方法

GlassFishRutime.newGlassFish(GlassFishProperties)的Javadoc和GlassFishRuntime.bootstrap(BootstrapProperties)的Javadoc都需要详细信息... 在asadmin创建域参考页面上有一个\'-domainproperties \'选项。您可以设置的属性之一称为\'orb.listener.port \'...这可能对解决此问题很有用。我还注意到domain.xml文件利用系统属性来定义端口(打开domain.xml文件并搜索\'IIOP_LISTENER_PORT \')。我猜这两个字符串之一将成为BootstrapProperties或GlassFishProperties属性的键,它们可以完成您想要的操作。     ,我得到以下解决方案(和一些有用的方法):
public synchronized CommandResult runCommand(String command,String... parameters)
throws GlassFishException {   
  CommandRunner runner = this.gfInstance.getCommandRunner();
  CommandResult result = runner.run(command,parameters);
  checkCommandResult(command,result);
  return result;
}
private void checkCommandResult(String cmd,CommandResult result) {
  LOG.info(\"Command: {}\\n  Result.status:\\n  {}\\n  Result.out:\\n  {}\\n  Result.failCause:\\n  {}\\n\",new Object[] {cmd,result.getExitStatus(),result.getOutput(),result.getFailureCause()});
  if (result.getExitStatus().ordinal() != 0) {
    throw new IllegalStateException(\"Command \'\" + cmd + \"\' was unsuccessful: \" 
    + result.getOutput(),result.getFailureCause());
}
然后,我几乎可以调用任何命令,就像使用asadmin命令一样: 例:
runCommand(\"list\",\"configs.config.server-config.iiop-service.iiop-listener\");
产生日志:
  Result.status:
  SUCCESS
  Result.out:
  PlainTextActionReporterSUCCESSDescription: list AdminCommandnull
    configs.config.server-config.iiop-service.iiop-listener.SSL
    configs.config.server-config.iiop-service.iiop-listener.SSL_MUTUALAUTH
    configs.config.server-config.iiop-service.iiop-listener.orb-listener-1

  Result.failCause:
  null
然后再次查看domain.xml并设置所需的内容: http://embedded-glassfish.java.net/domain.xml 例如,在我的EGF初始化中,我在部署之前和实例启动之后称它为:
runCommand(\"set\",\"configs.config.server-config.iiop-service.iiop-listener.orb-listener-1.port=\" + 50000);
runCommand(\"set\",\"configs.config.server-config.iiop-service.iiop-listener.SSL.port=\" + 50001);
runCommand(\"set\",\"configs.config.server-config.iiop-service.iiop-listener.SSL_MUTUALAUTH.port=\" + 50002);
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 <select id="xxx"> SELECT di.id, di.name, di.work_type, di.updated... <where> <if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 <property name="dynamic.classpath" value="tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -> systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping("/hires") public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate<String
使用vite构建项目报错 C:\Users\ychen\work>npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-