Search in sources :

Example 11 with At

use of org.nutz.mvc.annotation.At in project nutzboot by nutzam.

the class UserModule method login.

@Ok("json")
@Fail("http:500")
@POST
@At("/login")
public boolean login(@Param("username") String username, @Param("password") String password, HttpSession session) {
    User user = dao.fetch(User.class, username);
    if (user == null)
        return false;
    Sha256Hash hash = new Sha256Hash(password, user.getSalt());
    if (!hash.toHex().equals(user.getPassword())) {
        return false;
    }
    Subject subject = SecurityUtils.getSubject();
    subject.login(new SimpleShiroToken(user.getId()));
    return true;
}
Also used : User(io.nutz.demo.simple.bean.User) Sha256Hash(org.apache.shiro.crypto.hash.Sha256Hash) SimpleShiroToken(org.nutz.integration.shiro.SimpleShiroToken) Subject(org.apache.shiro.subject.Subject) At(org.nutz.mvc.annotation.At) POST(org.nutz.mvc.annotation.POST) Ok(org.nutz.mvc.annotation.Ok) Fail(org.nutz.mvc.annotation.Fail)

Example 12 with At

use of org.nutz.mvc.annotation.At in project nutzboot by nutzam.

the class MainLauncher method index.

@At({ "/", "/index" })
@Ok("vm:/index.vm")
public NutMap index() {
    NutMap obj = new NutMap();
    obj.setv("name", "牛牪犇").setv("age", 18);
    return obj;
}
Also used : NutMap(org.nutz.lang.util.NutMap) At(org.nutz.mvc.annotation.At) Ok(org.nutz.mvc.annotation.Ok)

Example 13 with At

use of org.nutz.mvc.annotation.At in project nutzcloud by nutzam.

the class UserModule method apitest.

/**
 * 这是演示api调用的入口,会顺序调用一堆请求,请关注日志
 */
@Ok("raw")
@At
public String apitest() {
    List<User> users = userService.list();
    log.info("users=" + Json.toJson(users));
    User haoqoo = userService.add("haoqoo", 19);
    User wendal = userService.add("wendal", 28);
    users = userService.list();
    log.info("users=" + Json.toJson(users));
    userService.delete(haoqoo.getId());
    userService.delete(wendal.getId());
    users = userService.list();
    log.info("users=" + Json.toJson(users));
    return "done";
}
Also used : User(io.nutz.cloud.demo.bean.User) At(org.nutz.mvc.annotation.At) Ok(org.nutz.mvc.annotation.Ok)

Example 14 with At

use of org.nutz.mvc.annotation.At in project nutzcloud by nutzam.

the class UserModule method benchmark.

@Ok("raw")
@At
public String benchmark() {
    // 先确保service能访问
    userService.ping();
    String NL = "\r\n";
    StringBuilder sb = new StringBuilder();
    sb.append("预热1k次").append(NL);
    Stopwatch sw = Stopwatch.begin();
    for (int i = 0; i < 1000; i++) {
        userService.ping();
    }
    sw.stop();
    sb.append("预热耗时: ").append(sw.toString()).append(NL);
    sb.append("单个请求平均耗时: ").append(sw.getDuration() / 1000.0).append(NL);
    sb.append("QPS: ").append((int) (1000.0 / sw.getDuration() * 1000)).append(NL);
    sb.append("-----------------------").append(NL);
    sw = Stopwatch.begin();
    benchmark(10, 10000);
    sw.stop();
    sb.append("10线程执行1w次,耗时: ").append(sw.toString()).append(NL);
    sb.append("单个请求平均耗时: ").append(sw.getDuration() / 10000.0).append(NL);
    sb.append("QPS: ").append((int) (10000.0 / sw.getDuration() * 1000)).append(NL);
    sb.append("-----------------------").append(NL);
    sw = Stopwatch.begin();
    benchmark(25, 10000);
    sw.stop();
    sb.append("25线程执行1w次,耗时: ").append(sw.toString()).append(NL);
    sb.append("单个请求平均耗时: ").append(sw.getDuration() / 10000.0).append(NL);
    sb.append("QPS: ").append((int) (10000.0 / sw.getDuration() * 1000)).append(NL);
    sb.append("-----------------------").append(NL);
    sw = Stopwatch.begin();
    benchmark(100, 20000);
    sw.stop();
    sb.append("100线程执行1w次,耗时: ").append(sw.toString()).append(NL);
    sb.append("单个请求平均耗时: ").append(sw.getDuration() / 20000.0).append(NL);
    sb.append("QPS: ").append((int) (20000.0 / sw.getDuration() * 1000)).append(NL);
    sb.append("-----------------------").append(NL);
    sw = Stopwatch.begin();
    benchmark(200, 20000);
    sw.stop();
    sb.append("200线程执行2w次,耗时: ").append(sw.toString()).append(NL);
    sb.append("单个请求平均耗时: ").append(sw.getDuration() / 20000.0).append(NL);
    sb.append("QPS: ").append((int) (20000.0 / sw.getDuration() * 1000)).append(NL);
    return sb.toString();
}
Also used : Stopwatch(org.nutz.lang.Stopwatch) At(org.nutz.mvc.annotation.At) Ok(org.nutz.mvc.annotation.Ok)

Aggregations

At (org.nutz.mvc.annotation.At)14 NutMap (org.nutz.lang.util.NutMap)7 Ok (org.nutz.mvc.annotation.Ok)6 IOException (java.io.IOException)3 POST (org.nutz.mvc.annotation.POST)3 User (net.wendal.nutzdemo.bean.User)2 Web3jAccount (org.nutz.boot.starter.web3.Web3jAccount)2 User (io.nutz.cloud.demo.bean.User)1 User (io.nutz.demo.feign.bean.User)1 User (io.nutz.demo.simple.bean.User)1 File (java.io.File)1 BigDecimal (java.math.BigDecimal)1 BigInteger (java.math.BigInteger)1 HashMap (java.util.HashMap)1 HttpServletRequest (javax.servlet.http.HttpServletRequest)1 Sha256Hash (org.apache.shiro.crypto.hash.Sha256Hash)1 Subject (org.apache.shiro.subject.Subject)1 CarrierItem (org.apache.skywalking.apm.agent.core.context.CarrierItem)1 ContextCarrier (org.apache.skywalking.apm.agent.core.context.ContextCarrier)1 AbstractSpan (org.apache.skywalking.apm.agent.core.context.trace.AbstractSpan)1