首页 > 编程知识 正文

springcloud完整项目,springcloud分布式事务

时间:2023-05-03 14:24:16 阅读:13060 作者:1596

//*

@ author张志祥

@date 2019/12/07

*/

@Component

公共类工作任务{

@Autowired

私有ijob服务作业服务;

保密服务名称=“提供程序”;

//*

每5秒更新一次*

(@ scheduled (固定延迟=5000 ) ) ) ) ) ) ) ) ) ) ) )。

公共语音下载() {

if (IP v4 util.IP compare (this.job service.serviceurl ) (服务名称) ) )

system.out.println (服务名称“服务名称,地址:”IPV4Util.getIpAddress (),任务正在运行);

}

}

}

调度任务显示this.jobService.serviceUrl方法。 此方法的作用是获取SpringCloud群集中的服务信息。 IPV4Util.ipCompare角色将当前服务IP与群集的所有IP进行比较,如果当前服务IP是群集服务IP的最小值,则返回true,反之则返回true

接下来再看一次吧。 要获取SpringCloud集群信息:

//*

@ author张志祥

@date 2019/12/07

*/

@Service

publicclassjobserviceimplimplementsijobservice {

@Autowired

隐私保护客户端;

@Override

publiclistserviceurl (字符串服务名称)。

listserviceinstancelist=discovery client.getinstance s (服务名称;

List urlList=new ArrayList (;

if (collection utils.is not empty (service instancelist ) ) {

service instancelist.foreach (si-{

urllist.add(si.Geturi ) );

);

}

返回列表;

}

}

其实主要是使用发现客户端类中的方法,我们可以很容易地获取集群信息。

最后,让我们来看看IPV4Util工具是如何进行比较的。

//*

@ author张志祥

@date 2019/12/07

*/

公共类IP v4 util {

//*

@ param IP地址

@return

*/

publicstaticlongiptolong (字符串IP地址) {

长结果=0;

string [ ] IP地址inarray=IP地址. split ((. ' );

for(intI=3; i=0; I) {

longip=long.parse long (IP地址inarray [3- I ];

//left shifting 24、16、8、0 andbitwiseor

//1. 192 24

//1. 168 16

//1. 1 8

//1. 2 0

result|=IP(I*8;

}

返回结果;

}

//*

@param ip

@return

*/

publicstaticstringlongtOIP{

stringbuilder result=new stringbuilder (15;

for(intI=0; i 4; I ) {

result.insert(0,long.tostring ) IP0xff );

if(I3 ) {

result.insert(0,‘.’;

}

ip=ip 8;

}

return result.toString (;

}

//*

@param ip

@return

*/

publicstaticstringlongtoip2(longip ) {

return(IP24 )0xFF )“.”)0xFF )“.”)0xFF )“.”) ip0xFF );

}

//*

获取当前计算机的IP

【一线巨头Java面试问题分析后端开发学习笔记最新框架解说视频实战项目源代码讲解】浏览器开放: qq.cn.hn/FTf免费领取@return */

公共静态字符串获取地址(

try {

enumerationenumnic=network interface.getnetworkinterfaces (;

enumNic.hasMoreElements (; () )。

networkinterfaceifc=enum NIC.nextelement (;

if(IFC.isup () ) ) )。

for (enumerationenumaddr=IFC.getinetaddresses );

enumAddr.hasMoreElements (; () )。

inetaddressaddress=enum addr.nextelement (;

if (addressinstanceofinet 4地址! address.isLoopbackAddress (

return address.getHostAddress (;

}

}

}

}

return InetAddress.getLocalHost ().getHostAddress );

}catch(ioexceptione ) {

//log.warn (“unabletofindnon-loopback地址”,e );

e .打印堆栈跟踪(;

}

返回空值;

}

//*

对比方法

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。