小编Håv*_*hus的帖子

如何使用 Spring AsyncResult 和 Future Return

我有一个公共接口 Synchronous,它暴露给多个服务层类。它的目的是根据传递的 id 查找对象图,执行一些业务逻辑,然后将其传递给 Spring 异步方法 Asynchronous.doWork 以完成其余任务。

我正在尝试使用 Spring AsyncResult,但我不确定返回的对象 WorkResult 实际返回到什么。我需要在 SynchronousImpl 的某个地方放置一个处理程序吗?想法?

同步公共服务:

public class SynchronousImpl implements Synchronous {
    private Asynchronous async;
    //business logic
    public void doWork(long id){
        async.doWork(id);
    }
}
Run Code Online (Sandbox Code Playgroud)

异步工作者类:

public class Asynchronous {
    @Async
    public Future<WorkResult> doWork(long id){
        //business logic
        WorkResult result = new WorkResult(id, "Finished");
        return new AsyncResult<WorkResult>(result);
    }
}
Run Code Online (Sandbox Code Playgroud)

java spring asynchronous

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

Mailgun API:使用Spring的RestTemplate发送内联图像

目标是发送带有内嵌图像的电子邮件.一切都运作良好,除了图像没有出现在电子邮件中.

我的方法是基于Jersey- Mailgun用户指南的例子.

public static ClientResponse SendInlineImage() {
   Client client = Client.create();
   client.addFilter(new HTTPBasicAuthFilter("api",
                   "YOUR_API_KEY"));
   WebResource webResource =
           client.resource("https://api.mailgun.net/v3/YOUR_DOMAIN_NAME" +
                           "/messages");
   FormDataMultiPart form = new FormDataMultiPart();
   form.field("from", "Excited User <YOU@YOUR_DOMAIN_NAME>");
   form.field("to", "baz@example.com");
   form.field("subject", "Hello");
   form.field("text", "Testing some Mailgun awesomness!");
   form.field("html", "<html>Inline image here: <img src=\"cid:test.jpg\"></html>");
   File jpgFile = new File("files/test.jpg");
   form.bodyPart(new FileDataBodyPart("inline",jpgFile,
                   MediaType.APPLICATION_OCTET_STREAM_TYPE));
   return webResource.type(MediaType.MULTIPART_FORM_DATA_TYPE).
           post(ClientResponse.class, form);
}
Run Code Online (Sandbox Code Playgroud)

但是,我需要使用Spring的RestTemplate.

这是我到目前为止所得到的:

RestTemplate template = new RestTemplate();

MultiValueMap<String, Object> map = new LinkedMultiValueMap<>();
// ... put all strings in map (from, …
Run Code Online (Sandbox Code Playgroud)

java spring multipartform-data resttemplate mailgun

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

SASS正在使用反斜杠前置unicode内容(\)

问题

我正在尝试在编译*.scss文件后生成一些unicode字符.

举个例子,我有以下(SCSS):

.element:after {
    content: "\a0";
}
Run Code Online (Sandbox Code Playgroud)

编译文件时,它输出以下(CSS):

.element:after {
    content: "\\a0";
}
Run Code Online (Sandbox Code Playgroud)

注意额外的不需要的反斜杠(\).

尝试解决方案#1

我在这里尝试了解决方案:Sass:unicode转义没有保存在.css文件中,这表明引入了以下功能:

@function unicode($str) {
    @return unquote("\"")+unquote(str-insert($str, "\\", 1))+unquote("\"")
}
Run Code Online (Sandbox Code Playgroud)

像这样使用它(SCSS):

.element:after {
    content: unicode("a0");
}
Run Code Online (Sandbox Code Playgroud)

但是,这会产生以下(CSS)

.element:after {
    content: "\\" ")+unquote(str-insert($str, " \\\\ ", 1))+unquote(" \\ ""; 
}
Run Code Online (Sandbox Code Playgroud)

请注意,它甚至没有按预期调用该函数.这是为什么?

项目细节

我在Maven中使用这些库:

<dependency>
    <groupId>net.jawr</groupId>
    <artifactId>jawr-core</artifactId>
    <version>3.9</version>
</dependency>

<dependency>
    <groupId>net.jawr.extensions</groupId>
    <artifactId>jawr-spring-extension</artifactId>
    <version>3.9</version>
</dependency>

<dependency>
    <groupId>com.darrinholst</groupId>
    <artifactId>sass-java-gems</artifactId>
    <version>3.4.20.0</version>
</dependency>

<dependency>
    <groupId>org.jruby</groupId>
    <artifactId>jruby-core</artifactId>
    <version>9.1.5.0</version>
</dependency>

<dependency>
    <groupId>org.jruby</groupId>
    <artifactId>jruby-stdlib</artifactId>
    <version>9.1.5.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

临时解决方案

不要在SCSS中使用unicodes.相反,在HTML中使用Font Awesome(在CSS文件中保留Font Awesome).

css java unicode jruby sass

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

改变表示:上三角矩阵和紧凑矢量(Octave/Matlab)

给定矩阵A,其对角线上的零点和下三角形部分:

A = triu(rand(5,5), 1) % example

A =
0.00000   0.47474   0.55853   0.30159   0.97474
0.00000   0.00000   0.03315   0.74577   0.20878
0.00000   0.00000   0.00000   0.54966   0.76818
0.00000   0.00000   0.00000   0.00000   0.82598
0.00000   0.00000   0.00000   0.00000   0.00000
Run Code Online (Sandbox Code Playgroud)

我想将A转换为一个跳过所有零元素的紧凑向量v:

v = [0.47474 0.55853 0.30159 0.97474 0.03315
     0.74577 0.20878 0.54966 0.76818 0.82598]
Run Code Online (Sandbox Code Playgroud)

后来我想从矢量转换回矩阵.

问题:在这两种表示之间进行转换的优雅方式是什么?

matlab vector matrix octave triangular

0
推荐指数
1
解决办法
2770
查看次数