ludc
2025-01-09 cf7a633427e1d7cf2ad481a8882408ca5d493a8d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package com.vci.server;
 
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
 
import com.vci.server.mw.ServerContextInterceptor;
import com.vci.server.volume.VolumeServiceImpl;
import com.zeroc.Ice.Communicator;
import com.zeroc.Ice.Identity;
import com.zeroc.Ice.ObjectAdapter;
import com.zeroc.Ice.Util;
import com.zeroc.IceBox.Service;
 
public class VolumeBoxService implements Service {
 
    private static final Logger LOGGER = LoggerFactory.getLogger(VolumeBoxService.class);
    protected ObjectAdapter _adapter;
    protected Identity id;
    
    @Override
    public void start(String name, Communicator communicator, String[] args) {
        LOGGER.info("start servant: " + name);
        // IceBox
        // 创建objectAdapter,这里和service同名
        _adapter = communicator.createObjectAdapter(name);
        // 创建servant
        com.zeroc.Ice.Object object = new VolumeServiceImpl();
        _adapter.add(object, Util.stringToIdentity(name));
        // 激活
        _adapter.activate();
        LOGGER.info("start servant success: " + name);
    }
 
    @Override
    public void stop() {
        LOGGER.info("VolumeService stoped, args");
        _adapter.destroy();
    }
 
}