小编ovn*_*nia的帖子

微服务:每个实例或每个微服务的数据源?

构建微服务架构我遇到了同一微服务实例之间数据共享的问题.

我有微服务,大量使用它的数据源 - 每个服务请求导致数据库请求(通常是插入).这项服务将被大量使用,我计划在Load Balancer后面隐藏多个实例.这里提出一个问题:这些实例应该使用一个数据库(数据库会成为瓶颈吗?)还是MULTIPLE(每个实例的数据源)?

database architecture microservices

20
推荐指数
2
解决办法
4329
查看次数

是否可以确定函数是否有参数?

如果我的功能需要变量,是否可以知道?

例如:

function ada (v) {};
function dad () {};
alert(ada.hasArguments()); // true
alert(dad.hasArguments()); // false
Run Code Online (Sandbox Code Playgroud)

javascript

12
推荐指数
1
解决办法
135
查看次数

在JavaDoc中使用maven属性

是否可以使用Maven Javadoc插件在javadocs上扩展maven属性的范围?例如

/**
 * My Awesome Class
 * @version ${project.version}
**/
Run Code Online (Sandbox Code Playgroud)

java javadoc maven

10
推荐指数
1
解决办法
455
查看次数

Log4j2在apender中过滤特定级别

我应该使用什么过滤器来定义要使用apender记录的特定级别?例如:

Java的:

LOGGER.debug("Debug message");
LOGGER.info("Info message");
LOGGER.warn("Warn message");
LOGGER.error("Error message");
LOGGER.fatal("Fatal message");
Run Code Online (Sandbox Code Playgroud)

log4j2.xml:

<Configuration>
    <Appenders>
        <Console name="info-stdout-message">
            <PatternLayout pattern="[%logger{36}] %message %n" />
            <ThresholdFilter level="info"/>
        </Console>

        <Console name="detailed-stdout-message">
            <PatternLayout pattern="[%logger{36}] [%level] %message %n" />
        </Console>

        <File name="file-appender" fileName="logs/debug.log">
            <PatternLayout pattern="%d{HH:mm:ss dd.mm} [%t] [%-5level] %logger{36} - %msg %n" />
        </File>
    </Appenders>

    <Loggers>
        <Root level="debug">
            <AppenderRef ref="file-appender" level="debug" />
            <AppenderRef ref="info-stdout-message" level="info"/>
            <AppenderRef ref="detailed-stdout-message" level="info"/>
        </Root>
    </Loggers>
</Configuration>
Run Code Online (Sandbox Code Playgroud)

文件输出很好,但在控制台我有这样的结果:

[application.Main] [INFO] Info message
[application.Main] Info message
[application.Main] [WARN] Warn message
[application.Main] Warn message …
Run Code Online (Sandbox Code Playgroud)

java logging log4j log4j2

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

如何在 Spring Webflux 控制器中结合 Flux 和 ResponseEntity

我在 Webflux 控制器中使用Monos 和ResponseEntitys 来操作标头和其他响应信息。例如:

@GetMapping("/{userId}")
fun getOneUser(@PathVariable userId: UserId): Mono<ResponseEntity<UserDto>> {
    return repository.findById(userId)
        .map(User::asDto)
        .map { ResponseEntity.ok(it) }
        .defaultIfEmpty(ResponseEntity.notFound().build())
}

@GetMapping
fun getAllUsers(): Flux<UserDto> {
    return repository.findAllActive().map(User::asDto)
}
Run Code Online (Sandbox Code Playgroud)

两者都可以正常工作,但在某些情况下也需要ResponseEntity结合使用Flux。响应类型应该是什么?使用正确ResponseEntity<Flux<T>>吗?

例如:

@GetMapping("/{userId}/options")
fun getAllUserOptions(@PathVariable userId: UserId): ??? {
    return repository.findById(userId)
        .flatMapIterable{ it.options }
        .map { OptionDto.from(it) }
        // if findById -> empty Mono then:
        //   return ResponseEntity.notFound().build() ?
        // else:
        //   return the result of `.map { OptionDto.from(it) }` ? …
Run Code Online (Sandbox Code Playgroud)

java spring kotlin project-reactor spring-webflux

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

智能文本替换为jQuery

我需要在已经加载的页面上替换部分文本,例如mustache var {{myvar}}.示例html:

<html>
   <head>
      <title>{{MYTITLE}}</title>
   </head>
   <body>
      <p><strong><ul><li>text {{TEXT}}</li></ul></strong></p>
      {{ANOTHER}}
   </body>
</html>
Run Code Online (Sandbox Code Playgroud)

有什么问题?用$(html).html(myrenderscript($(html).html()))!

这是丑陋,缓慢和破碎的<script>标签.

你想要什么?

我希望得到与{{}}最接近的标记,而不是渲染和替换.

你的研究?

首先,我试过:$('html :contains("{{")).但它返回<title>, <p>, <strong>......但我需要<title><li>.

比我试图过滤它们:

$('html :contains("{{")').filter(function (i) {
   return $(this).find(':contains("{{")').length === 0
});
Run Code Online (Sandbox Code Playgroud)

......但是WONT回归了{{ANOTHER}}.那是我死路一条.你的建议?

html javascript jquery

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

realloc有什么问题?

开始在C学习malloc.h.想法是创建动态数组.这是代码:

#include <stdio.h>
#include <conio.h>
#include <malloc.h>

int main() {
    int *array = (int*)malloc(sizeof(int));
    int i, j, val;
    for (i = 0;; i++) {
        array = (int*)realloc(array, sizeof(int) + sizeof(*array));
        printf("Enter array[%d]=", i);
        scanf("%d", (array + i));
        if (*(array + i) == 0) break;
    }
    for (j = 0; j < i; j++) {
        printf("[%d] = %d\n", j, *(array + j));
    }
    getch();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

结果是

Enter array[0]=1
Enter array[1]=2
Enter array[2]=3
Enter array[3]=4
Enter array[4]=5
Enter array[5]=6
Enter …
Run Code Online (Sandbox Code Playgroud)

c

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

罐子忽略了我的清单

Jar将忽略我的清单文件,并将其替换为自动生成的清单。

我的清单是:

Manifest-Version: 1.0 
Created-By: Student Name 
Main-Class: ua.sumdu.j2se.studentName.tasks.PrintMonth
Run Code Online (Sandbox Code Playgroud)

(带空行)

命令:

jar -cvf build/tasks.jar MANIFEST.MF build\classes\ua\sumdu\j2se\studentName\tasks\*.class
Run Code Online (Sandbox Code Playgroud)

结果,如果我用winrar打开jar文件,将会有:

build
META-INF
MANIFEST.MF - my manifest
Run Code Online (Sandbox Code Playgroud)

如果我将清单放入META-INF并执行

jar -cvf build/tasks.jar META-INF/MANIFEST.MF build\classes\ua\sumdu\j2se\studentName\tasks\*.class
Run Code Online (Sandbox Code Playgroud)

在我的META-INF文件夹中将有2个清单。

这是怎么回事?

java jar manifest.mf manifest

4
推荐指数
1
解决办法
4950
查看次数

SWTException:Widget已被释放

当我第二次创建打开的新SWT应用程序窗口时,应用程序崩溃并SWTException: Widget is disposed出现错误.怎么了?

这是我的代码:

摘要Controller.java:

public abstract class Controller {
    protected View view;

    public Controller(View v) {
        view = v;
    }

    protected void render() {
        data();
        view.setData(data);
        view.render();
        listeners();
        if (display)
            view.open();
    }
    protected void data() {}

    protected void listeners() {}
}
Run Code Online (Sandbox Code Playgroud)

AboutController.java (代表新窗口):

public class AboutController extends Controller {
    static AboutView view = new AboutView();

    public AboutController() {
        super(view);
        super.render();
    }
}
Run Code Online (Sandbox Code Playgroud)

摘要View.java:

public abstract class View {
    protected Display display;
    protected …
Run Code Online (Sandbox Code Playgroud)

java swt

3
推荐指数
1
解决办法
9960
查看次数

如何在Spring WebClient中设置和处理超时?

Spring文档表示需要手动为WebClient配置http客户端来设置超时:https://docs.spring.io/spring/docs/current/spring-framework-reference/web-reactive.html#webflux-client-builder -反应器超时。但由于 WebClient 返回响应式 Mono,因此可以(api-wise)应用.timeout方法。

有同样的效果吗?

而且,当一个人使用.timeout方法时,ReactorTimeoutException是我们所期望的。如果手动完成配置(即可以工作),流中是否会出现相同的错误doOnError(TimeoutException.class, ...)

java spring project-reactor reactive spring-webflux

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