mirror of
https://github.com/ctripcorp/zeus.git
synced 2024-09-22 08:36:24 +08:00
update nginx/conf?vs=1&version=2
This commit is contained in:
parent
daee2d9104
commit
931f189e04
|
@ -1,11 +1,11 @@
|
|||
package com.ctrip.zeus.restful.resource;
|
||||
|
||||
import com.ctrip.zeus.dal.core.NginxConfServerDao;
|
||||
import com.ctrip.zeus.dal.core.NginxConfServerEntity;
|
||||
import com.ctrip.zeus.dal.core.NginxConfUpstreamDao;
|
||||
import com.ctrip.zeus.dal.core.*;
|
||||
import com.ctrip.zeus.model.entity.Slb;
|
||||
import com.ctrip.zeus.nginx.entity.*;
|
||||
import com.ctrip.zeus.restful.message.ResponseHandler;
|
||||
import com.ctrip.zeus.service.build.NginxConfService;
|
||||
import com.ctrip.zeus.service.model.SlbRepository;
|
||||
import com.ctrip.zeus.service.nginx.NginxService;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
|
@ -36,6 +36,8 @@ public class NginxResource {
|
|||
private NginxConfServerDao nginxConfServerDao;
|
||||
@Resource
|
||||
private NginxConfUpstreamDao nginxConfUpstreamDao;
|
||||
@Resource
|
||||
private SlbRepository slbRepository;
|
||||
|
||||
@GET
|
||||
@Path("/load")
|
||||
|
@ -52,9 +54,25 @@ public class NginxResource {
|
|||
@GET
|
||||
@Path("/conf")
|
||||
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
|
||||
public Response getVsConf(@Context HttpServletRequest request,@Context HttpHeaders hh,@QueryParam("vs") Long vsid) throws Exception{
|
||||
int version = nginxConfService.getCurrentVersion(slbId);
|
||||
nginxConfServerDao.findBySlbVirtualServerIdAndVersion(vsid,1, NginxConfServerEntity.READSET_FULL);
|
||||
public Response getVsConf(@Context HttpServletRequest request,@Context HttpHeaders hh,@QueryParam("vs") Long vsid ,@QueryParam("version") Integer versionNum) throws Exception{
|
||||
VirtualServerConfResponse response = new VirtualServerConfResponse();
|
||||
|
||||
Slb slb = slbRepository.getByVirtualServer(vsid);
|
||||
int version;
|
||||
if (null == versionNum || versionNum <= 0)
|
||||
{
|
||||
version= nginxConfService.getCurrentVersion(slb.getId());
|
||||
}else
|
||||
{
|
||||
version = versionNum;
|
||||
}
|
||||
NginxConfServerDo nginxConfServerDo = nginxConfServerDao.findBySlbVirtualServerIdAndVersion(vsid, version, NginxConfServerEntity.READSET_FULL);
|
||||
NginxConfUpstreamDo nginxConfUpstreamDo = nginxConfUpstreamDao.findBySlbVirtualServerIdAndVersion(vsid,version,NginxConfUpstreamEntity.READSET_FULL);
|
||||
response.setVersion(version)
|
||||
.setServerConf(nginxConfServerDo.getContent())
|
||||
.setUpstreamConf(nginxConfUpstreamDo.getContent())
|
||||
.setVirtualServerId(vsid);
|
||||
return responseHandler.handle(response, hh.getMediaType());
|
||||
}
|
||||
|
||||
@GET
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
<entity-ref name="traffic-status-list" />
|
||||
<entity-ref name="traffic-status" />
|
||||
<entity-ref name="req-status" />
|
||||
<entity-ref name="virtual-server-conf-response" />
|
||||
</entity>
|
||||
<entity name="upstream-status">
|
||||
<entity-ref name="servers" />
|
||||
|
@ -80,5 +81,11 @@
|
|||
<element name="time" value-type="Date" format="yyyy-MM-dd HH:mm:ss" />
|
||||
<entity-ref name="req-status" type="list" names="req-statuses" xml-indent="true" />
|
||||
</entity>
|
||||
<entity name="virtual-server-conf-response">
|
||||
<element name="virtual-server-id" value-type="long" />
|
||||
<element name="version" value-type="int" />
|
||||
<element name="server-conf" value-type="String" />
|
||||
<element name="upstream-conf" value-type="String" />
|
||||
</entity>
|
||||
</model>
|
||||
|
||||
|
|
|
@ -92,4 +92,10 @@
|
|||
<server-err-count>17915825952</server-err-count>
|
||||
<time>2013-05-20 13:34:00</time>
|
||||
</req-status>
|
||||
<virtual-server-conf-response>
|
||||
<virtual-server-id>12345678901</virtual-server-id>
|
||||
<version>1</version>
|
||||
<server-conf>server-conf</server-conf>
|
||||
<upstream-conf>upstream-conf</upstream-conf>
|
||||
</virtual-server-conf-response>
|
||||
</nginx>
|
Loading…
Reference in a new issue