博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
weblogic为同一domain下的不同server添加不同参数
阅读量:7249 次
发布时间:2019-06-29

本文共 1128 字,大约阅读时间需要 3 分钟。

一、背景

今天应用提需求说:现有一应用部署在多个server上,该应用会使用Ddubbo.protocol.port参数指定的端口去启动dubbo,现在想要做到的效果是为每个server的Ddubbo.protocol.port配不同的值,当访问不同server时应用会调用不同的端口去启动dubbo。

dubbo这东西之前都没听过,不是像数据库一样自己启动监听好等应用去调用反是应用利用指定的端口去启动,这种模式开始是有些懵的;然后去看了一下又是些什么分布式的东西,这一时半会也不会看得懂。

缓过神来想想,弄懂这是什么东西不是必须的,这就是一个weblogic怎么带自定义参数的问题,不管叫dubbo还是bubbo不管是做什么的,只要参数能带上需求就解决了。

 

二、解决办法探索

如果是同domain下的所有server都添加同一参数,那直接在setDomainEnv.sh中的JAVA_OPTIONS=后追加即可,但现在的需求是不同server参数值不同,所以此路不通。

不懂先百度,有说中配置即可,在配置后到config.xml中看到参数被放到<server-start>标签中似乎有戏,但经反复启动还是命令没带上配置的参数,而且细看似乎是说另外的东西,在控制台也看到另外的有像配置启动参数的地方就放弃了继续在控制台摆弄。

再想平时启动是使用自己生成的startman.sh,其内容如下:

到startManagedWebLogic.sh追溯一下其如何处理传入的参数,可能有机会插入参数。

按usage看其只接受受控server名和控制台地址两个参数,但就相当于源码的东西可以自己改所以不是完全没有机会

继续往下看内容不是很多但也没一句句研究什么用途,拉到末尾看到了令人振奋的一句代码:${DOMAIN_HOME}/bin/startWebLogic.sh $1 $2 $3 $4 $5 $6 $7 $8 $9

也就是说startManagedWebLogic.sh直接将其接收到的参数不加处理一齐丢给了startWebLogic.sh,shell脚本一般不会去判断哪个参数是什么用,很大可能就是直接拼接到启动命令后边去启动,事实也证明确实如此。

 

三、解决办法

直接在startman.sh中追加要添加的-Ddubbo.protocol.port参数,如下(startman.sh是我们为了方便自己建的受控服务器脚本,实际也就是在受控服务器启动的末尾追加):

启动后可以看到myApp11和myApp12成功带上了不同值的-Ddubbo.protocol.port参数:

 对于控制台,也一样在启动命令(startWeblogic.sh)后追加参数即可。

转载地址:http://tzhbm.baihongyu.com/

你可能感兴趣的文章
进程调度(二)
查看>>
python元组,集合类型,及字典补充
查看>>
9、python函数进阶
查看>>
Markdown一看就会
查看>>
dotweb——go语言的一个微型web框架(一)
查看>>
又是一个名叫草泥马的项目:thefuck
查看>>
《七周七并发模型》作者Paul Butcher访谈问题有奖征集
查看>>
linux基本功能的一些命令(用户,系统信息,包管理等)
查看>>
使用 dnscrypt-proxy 防止 dns 污染
查看>>
专访孙睿 :能做自己,去做自己想做的,是件挺幸福的事儿
查看>>
滴滴开源跨平台统一 MVVM 框架 Chameleon
查看>>
玖锦科技完成1.1亿元融资,中信惠科基金领投
查看>>
JavaWeb_常用功能_01_文件上传
查看>>
Git for Windows 2.21.0 发布,Win 下的 Git 客户端
查看>>
JSON和XML格式转换
查看>>
XXL-RPC v1.3.2,分布式服务框架
查看>>
将c++静态库实现二次封装供java调用
查看>>
在阿里云kubernetes上部署Jenkins Master
查看>>
VueJs开发笔记—IDE选择和优化、框架特性、数据调用、路由选项及使用
查看>>
MySQL 数据库的备份与恢复
查看>>