当前位置: 首页 > news >正文

有女人和马做网站吗专注于品牌营销服务

有女人和马做网站吗,专注于品牌营销服务,网站管理员可控的关键节点,有个专门做3d同人网站为了简化应用支持服务方便的分合,使用Zookeeper embbed模式。集成Zookeeper比较容易,使用starter或自己写代码都可以。但是由于集成了Dubbo,每次启动时都会发现zookeeper没有启动就开始报错退出,但是确是已经集成了。 于是只能翻…

为了简化应用支持服务方便的分合,使用Zookeeper embbed模式。集成Zookeeper比较容易,使用starter或自己写代码都可以。但是由于集成了Dubbo,每次启动时都会发现zookeeper没有启动就开始报错退出,但是确是已经集成了。

于是只能翻Dubbo源码

发现Dubbo启动时,会添加一个早期事件DubboConfigInitEvent。在spring afterproperties后,会立即触发该事件。在该事件里调用zookeeper注册事件。

因此,解决方式是添加早期事件DubboConfigInitEvent的侦听,在侦听里去初始化zookeeper server,这样就能保证在Dubbo初始化之前具备zookeeper服务了:

添加一个Helper Bean,实现代码如下:

package org.ccframe.commons.helper;import lombok.Getter;
import lombok.SneakyThrows;
import org.apache.dubbo.config.spring.context.event.DubboConfigInitEvent;
import org.apache.zookeeper.server.NIOServerCnxnFactory;
import org.apache.zookeeper.server.ZooKeeperServer;
import org.ccframe.config.GlobalEx;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;import java.io.File;
import java.net.InetSocketAddress;
import java.nio.file.Path;
import java.nio.file.Paths;@Component
public class EmbeddedZookeeperLauncher implements ApplicationListener<DubboConfigInitEvent>{private String zooDir;@Value("${app.zookeeper.embed.dir:}")public void setZooDir(String zooDir) {this.zooDir = zooDir;if (zooDir == null || zooDir.isEmpty()) {this.zooDir = GlobalEx.APP_BASE_DIR + File.separator + GlobalEx.EMBEDDED_ZOOKEEPER_DIR; //zookeeper数据放到应用运行目录}}@Value("${app.zookeeper.embed.port:2181}")private Integer zooPort;@Value("${app.zookeeper.embed.max-connection:1024}")private Integer maxConnection;@Value("${app.zookeeper.embed.tick-time:500}")private Integer tickTime;@Getterprivate ZooKeeperServer zooKeeperServer;@Override@SneakyThrowspublic void onApplicationEvent(DubboConfigInitEvent event){if (event.getApplicationContext().getParent() == null) {Path zooPath = Paths.get(zooDir);zooKeeperServer = new ZooKeeperServer(zooPath.toFile(), zooPath.toFile(), tickTime);NIOServerCnxnFactory factory = new NIOServerCnxnFactory();System.setProperty("zookeeper.maxCnxns", Integer.toString(maxConnection));factory.configure(new InetSocketAddress(zooPort), maxConnection);factory.startup(zooKeeperServer);}}}

然后启动就不会报错了

本人还实现了elasticsearch 7的集成模式,这样额外只需要启动一个独立的redis即可在单台2C2G的云主机上运行ccframe微服务框架了。耐斯~

http://www.dinnco.com/news/33661.html

相关文章:

  • 公司网站建设30元百度seo排名主要看啥
  • 做网站协议书网络营销推广的方法有哪些
  • 网页传奇新开网站网络营销与策划试题及答案
  • 网站选择理由描述外贸独立站怎么建站
  • 我wordpress top主题上海站群优化
  • 有限公司 wordpress电商seo什么意思
  • wordpress怎么发布文章带图片seoul
  • 专业建站公司收费标准百度快速收录网站
  • 寻找在山西运城专业做网站推广的营销网
  • 网站无法做301重定向安卓aso
  • h5响应式网站源码百度站内搜索的方法
  • 移动路由器做网站服务器上海网络推广招聘
  • 做资质去哪个网站填资料南通seo网站优化软件
  • 厦门的网站建设公司哪家好四年级的简短新闻播报
  • 云南网站设计哪家专业长沙seo步骤
  • 网站建设优化服务平台下店拓客团队
  • 中国水土保持生态建设网站个人网站如何优化关键词
  • wordpress import莫停之科技windows优化大师
  • 网站公安备案当面核验邀请注册推广赚钱的app
  • 中山网站优化今天头条新闻100条
  • 上海设计网站大全google推广服务商
  • 在线甜点订购网站开发需求分析公关公司
  • 公司可以做网站baud百度一下
  • 中标公告在哪里查询南宁seo服务优化
  • wordpress做复杂网站百度权重高的发帖网站
  • 网站架构设计师简历seo搜索引擎招聘
  • 国内 设计网站的公司网站杭州百度竞价推广公司
  • 网站数据库维护都是做什么代运营公司靠谱吗
  • 中国建设人才网信息网站怎样推广自己的产品
  • 做网站的前途seo软文是什么