| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */package org.redkalex.benchmark;import java.util.*;import java.util.concurrent.*;import java.util.stream.Stream;import org.redkale.annotation.*;import org.redkale.net.http.*;import org.redkale.service.AbstractService;import org.redkale.source.DataSource;/** * 测试redkale-jdbc, 需要覆盖到原BenchmarkService * * @author zhangjx */@RestService(name = " ", repair = false)public class BenchmarkService extends AbstractService {    private static final byte[] helloBytes = "Hello, world!".getBytes();    @Resource    private DataSource source;    @NonBlocking    @RestMapping(auth = false)    public byte[] plaintext() {        return helloBytes;    }    @NonBlocking    @RestMapping(auth = false)    public Message json() {        return new Message("Hello, World!");    }    @RestMapping(auth = false)    public World db() {        return source.find(World.class, ThreadLocalRandom.current().nextInt(10000) + 1);    }    @RestMapping(auth = false)    public List<World> queries(int q) {        return source.findsList(World.class, random(q));    }    @RestMapping(auth = false)    public List<World> updates(int q) {        int size = Math.min(500, Math.max(1, q));        int[] newNumbers = ThreadLocalRandom.current().ints(size, 1, 10001).toArray();        List<World> words = source.findsList(World.class, random(q));        source.update(World.updateNewNumbers(words, newNumbers));        return words;    }    @RestMapping(auth = false)    public HttpScope fortunes() {        List<Fortune> fortunes = source.queryList(Fortune.class);        fortunes.add(new Fortune(0, "Additional fortune added at request time."));        Collections.sort(fortunes);        return HttpScope.refer("").referObj(fortunes);    }    @NonBlocking    @RestMapping(name = "cached-worlds", auth = false)    public CachedWorld[] cachedWorlds(int q) {        return source.finds(CachedWorld.class, random(q));    }    private Stream<Integer> random(int q) {        int size = Math.min(500, Math.max(1, q));        return ThreadLocalRandom.current().ints(size, 1, 10001).boxed();    }}
 |