小编Gre*_*gor的帖子

Spring Data Rest中同一实体的多个存储库

是否可以使用Spring Data Rest为同一JPA实体发布两个不同的存储库?我为这两个存储库提供了不同的路径和rel-name,但只有两个中的一个可用作REST端点.我有两个存储库的原因是,其中一个是摘录,仅显示实体的基本字段.

spring spring-data spring-data-jpa spring-data-rest

24
推荐指数
2
解决办法
5732
查看次数

如何从npm代理中排除某些域

我们在公司防火墙后面使用npm,因此在npm配置中使用代理和https代理设置.只要从外部注册表加载所有npm模块,这都可以正常工作.但事实上我们在内部github上也有内部模块.当然,访问这些模块不能使用代理.我的问题是:我可以在npm配置中指定域名列表,不应该使用代理吗?类似于unix shell中的no_proxy环境变量?

proxy npm

19
推荐指数
3
解决办法
2万
查看次数

在Servlet中重用Nashorn ScriptEngine

我想在servlet中执行JavaScript.是否可以在所有servlet调用中重用相同的Scripting Engine?Servlet实例由多个线程共享.这是否需要为每个请求创建一个新的Scripting Engine?这将是一个令人无法接受的性能损失.例如,以下代码是否保存?

public class MyServlet extends HttpServlet {

private ScriptEngineManager factory;
private ScriptEngine engine;

@Override
public void init() throws ServletException {
    factory = new ScriptEngineManager();
    engine = factory.getEngineByName("nashorn");
}

@Override
public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException {
    try (PrintWriter writer = res.getWriter()) {
        ScriptContext newContext = new SimpleScriptContext();
        newContext.setBindings(engine.createBindings(), ScriptContext.ENGINE_SCOPE);
        Bindings engineScope = newContext.getBindings(ScriptContext.ENGINE_SCOPE);
        engineScope.put("writer", writer);
        Object value = engine.eval("writer.print('Hello, World!');", engineScope);
        writer.close();
    } catch (IOException | ScriptException ex) {
        Logger.getLogger(AsyncServlet.class.getName()).log(Level.SEVERE, null, ex);
    }
}
Run Code Online (Sandbox Code Playgroud)

}

如果这不安全,那么避免每个请求创建引擎的最佳方法是什么?使用引擎池? …

java servlets nashorn

13
推荐指数
1
解决办法
4036
查看次数

使用Docker Provider的Vagrant需要RSync密码

使用docker提供程序启动vagrant(up)会产生rsync问题,因为rsync尝试与docker用户同步并询问我的密码,这当然是我没有的.如果我用一个vm.box交换docker provider一切都很好.我收到的消息是:

WDFM32388067A:vagranttest d022051$ vagrant up
Bringing machine 'default' up with 'docker' provider...
==> default: Docker host is required. One will be created if necessary...
    default: Docker host VM is already ready.
==> default: Syncing folders to the host VM...
    default: The machine you're rsyncing folders to is configured to use
    default: password-based authentication. Vagrant can't script rsync to automatically
    default: enter this password, so you'll likely be prompted for a password
    default: shortly.
    default: 
    default: If you don't want …
Run Code Online (Sandbox Code Playgroud)

rsync vagrant docker

13
推荐指数
1
解决办法
1953
查看次数

验证失败时,Spring RestController会抛出什么类型的异常?

在Spring中,RestControllerRequestBody只需通过将相应的方法参数注释为@Valid或者进行输入验证@Validated.其他一些验证只能在对传入数据进行一些处理后才能执行.我的问题是,我应该使用什么类型的异常,以便它类似于@Valid注释抛出的异常,以及如何从验证结果中构造此异常.这是一个例子:

@RequestMapping(method = RequestMethod.POST)
public ResponseEntity<?> createOrder(@RequestBody @Validated(InputChecks.class) Order order) {
    // Some processing of the Order goes here
    Set<ConstraintViolation<Order>> violations = validator.validate(order, FinalChecks.class);
    // What to do now with the validation errors?
    orders.put(order);
    HttpHeaders headers = new HttpHeaders();
    headers.setLocation(ServletUriComponentsBuilder.fromCurrentRequest().path("/" + order.getId()).build().toUri());
    return new ResponseEntity<>(null, headers, HttpStatus.CREATED);
}
Run Code Online (Sandbox Code Playgroud)

java validation spring exception spring-restcontroller

12
推荐指数
2
解决办法
2万
查看次数

Spring-Data 中 @RestResource(exported=false) 的确切含义是什么?

我看到,与 spring-data-rest 存储库一起使用时,一组实体上的注释@RestResource(exported=false)不会导出该组,而是嵌入该组实体而不是渲染 url。

这是预期的行为吗?

exported=false至少可以说,这个属性不是具有误导性吗?该注释的确切语义是什么?

我将 spring-data-rest 与 neo4j 一起使用,即我的项目依赖于 spring-data-neo4j。

spring neo4j spring-data spring-data-neo4j spring-boot

6
推荐指数
0
解决办法
476
查看次数

使用Docker Provider的Vagrant因ssh上的rsync而失败

我有问题用Docker运行Vagrant.问题是共享文件夹的rsync.

WDFM32388067A:vagranttest d022051$ vagrant up
Bringing machine 'default' up with 'docker' provider...
==> default: Docker host is required. One will be created if necessary...
    default: Vagrant will now create or start a local VM to act as the Docker
    default: host. You'll see the output of the `vagrant up` for this VM below.
    default:  
    default: Importing base box 'hashicorp/boot2docker'...
    default: Matching MAC address for NAT networking...
    default: Checking if box 'hashicorp/boot2docker' is up to date...
    default: Setting the name of …
Run Code Online (Sandbox Code Playgroud)

ssh rsync vagrant docker boot2docker

6
推荐指数
1
解决办法
1144
查看次数

嵌入式Jetty的异步Servlet

我想构建一个在嵌入式Jetty服务器中调用异步servlet的简单示例.当我尝试从Request的AsyncContext启动Runnable时,我得到一个NullPointerException.这是服务器代码:

public static void main(String[] args) throws Exception {
    Server server = new Server(8080);
    ServletHandler handler = new ServletHandler();
    server.setHandler(handler);
    ServletHolder holder = handler.addServletWithMapping(AsyncServlet.class, "/*");
    holder.setAsyncSupported(true);
    server.start();
    server.join();
}
Run Code Online (Sandbox Code Playgroud)

这是servlet代码:

public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException {
    final AsyncContext ctxt = req.startAsync();
    ctxt.start(() -> {
        ctxt.complete();
    });
}
Run Code Online (Sandbox Code Playgroud)

这是堆栈跟踪的错误:

java.lang.NullPointerException
at org.eclipse.jetty.server.AsyncContextState$2.run(AsyncContextState.java:168)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:620)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:540)
at java.lang.Thread.run(Thread.java:745) 
Run Code Online (Sandbox Code Playgroud)

也许服务器需要任何其他配置.有什么建议?

增加:相同的servlet在嵌入式tomcat中运行时没有任何变化.

asynchronous servlets jetty embedded-jetty

5
推荐指数
1
解决办法
6984
查看次数

Nashorn中的评估函数是否可以从不同的线程重用?

如果函数不更改任何共享对象但仅使用给定的参数,是否可以重用同一个Nashorn引擎和同一个JavaScriptObject(对于所有servlet请求,作为JS函数的评估)电话?请看以下示例:

public class MyServlet extends HttpServlet {

private ScriptEngineManager factory;
private ScriptEngine engine;
private ScriptObjectMirror script;

@Override
public void init() throws ServletException {
    try {
        factory = new ScriptEngineManager();
        engine = factory.getEngineByName("nashorn");
        script = (ScriptObjectMirror)engine.eval("function(writer) {writer.print('Hello, World!');}");
    } catch (ScriptException ex) {
        Logger.getLogger(MyServlet.class.getName()).log(Level.SEVERE, null, ex);
    }
}

@Override
public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException {
    try (PrintWriter writer = res.getWriter()) {
        script.call(null, writer);
        writer.close();
    } catch (IOException ex) {
        Logger.getLogger(MyServlet.class.getName()).log(Level.SEVERE, null, ex);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是线程安全的吗?这是在Servlet中重用Nashorn ScriptEngine的后续内容 …

javascript java multithreading servlets nashorn

5
推荐指数
1
解决办法
603
查看次数

在Intellij 15.02中设置线路断点不起作用

从昨天开始,我使用的是IntelliJ 15.02,无法再设置任何断点.既没有单击侧栏,也没有单击"运行 - >切换线断点".这是IntelliJ中的Bug吗?或者有没有办法禁用/启用此功能?我感谢任何帮助.

breakpoints intellij-idea

5
推荐指数
1
解决办法
1375
查看次数