小编iMa*_*kre的帖子

为什么需要 spring.jmx.enabled=false 来防止重复的 DataSource MBeans?

我正在构建一个部署到 Tomcat 的 Spring Boot Web 应用程序,它使用 JNDI 构建一个 DataSource bean。

我有以下条目application.properties以防止在 JMX 中创建重复的 DataSource MBean

# Prevent Spring from automatically exposing beans to JMX. Tomcat automatically creates an MBean when setting the
# JNDI data source, and an error gets thrown if spring then tries to add the data source MBean itself.
spring.jmx.enabled=false
Run Code Online (Sandbox Code Playgroud)

但我的问题是:有一个名为的属性被默认spring.datasource.jmx-enabled设置为false。这似乎是一个细粒度的设置,应该只禁止数据源 MBean 被 Spring 公开,对吗?但事实并非如此。除非我禁用所有 JMX,否则 DataSource MBean 将被复制。

java tomcat jndi spring-boot

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

如何决定使用哪种ECS工具?

我现在正处于十字路口。我的目标是自动创建我的 ECS 架构并将我的 docker-compose 服务部署到 ECS Fargate,但是有很多方法可以做到这一点!

希望从社区获得一些关于选择适合工作的工具的见解。其中每一个的用例是什么?我什么时候应该选择其中之一?

Docker ECS 集成
https://docs.docker.com/cloud/ecs-integration/

ecs-cli
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_CLI.html

AWS Copilot
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Copilot.html

AWS CLI ecs
https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ecs/index.html

amazon-web-services amazon-ecs docker docker-compose

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

不使用 Spring Boot 作为父 pom 会有什么后果?

我有一个多模块 Maven 项目,它共享一个公共的父 pom.xml。其中一些模块将使用 Spring Boot,但有些则不会。我不想使用 Spring Boot 作为我的父 pom 的父项,并且在不使用它们的模块中存在不必要的依赖项。

不使用Spring Boot父pom会有什么后果?一切都仍然可以与所有自动配置的优点一起使用吗?我正在考虑以下解决方案,将其放入我的父 pom 中作为替代方案

<dependencyManagement>
    <dependencies>
        <dependency>
            <!-- Import dependency management from Spring Boot -->
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>1.4.1.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
</dependencyManagement>
Run Code Online (Sandbox Code Playgroud)

但我对所有这些 Maven 东西和 Spring Boot 都很陌生,所以我不希望出现任何意想不到的后果,也不希望以任何方式削弱 Spring Boot 的功能。有人可以解释一下,如果我这样做,我会失去什么(如果有的话)?谢谢!

maven spring-boot

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

使用css只打印隐藏内容

我正在构建一个网络应用程序,当用户单击按钮时需要打印报告。报告中的所有内容在页面上都不可见,只有在用户单击按钮时才会创建。我最初的想法是简单地打开一个新窗口,设置内容,然后打印后关闭窗口。然而,这不是一个选项,因为用户在信息亭模式下使用浏览器,无法打开新选项卡/窗口。要求是报表需要在不从当前页面重定向的情况下打印。仅应打印报告本身,不能包含当前页面的任何内容。

我知道这已经在这里发布了多次,但我已经看过很多这些帖子,这就是我现在的样子。

当我单击按钮并打印页面时,它会打印一张空白页。我不知道为什么这不起作用。

这是我到目前为止所拥有的

超文本标记语言

<html class="printable">
<head>
    <link rel="stylesheet" type="text/css" href="css/print-style.css">
    <script src="js/jquery.js"></script>
    <script src="js/report.js"></script>
</head>
<body class="printable">
    <div>
        <h1>Content that shouldn't print</h1>
        <h2>Content that shouldn't print</h2>
        <h3>Content that shouldn't print</h3>
        <h4>Content that shouldn't print</h4>
    </div>
    <div id="report" class="print-only"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

CSS

@media print {
    :not(.printable) {
        display: none;
    }

    .print-only {
        display: block;
    }
}

.print-only {
    display: none;
}
Run Code Online (Sandbox Code Playgroud)

JavaScript

$(function() {
    $("#print-button").click(function() {
        $.ajax({
            url: "get-report",
            success: function(resp) {
                $("#report").html(resp); // populate the report div with …
Run Code Online (Sandbox Code Playgroud)

html javascript css printing

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

Spring boot logback 不记录到文件

我在我的 web mvc 应用程序中使用 spring-boot-start-web 依赖项并使用 logback。我的静态资源目录中有一个 logback-spring.xml 文件,其配置如下

<property name="MY_LOG_FILE" value="C:\mylog.log" />

<appender name="MY_APPENDER"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <encoder>
        <pattern>${FILE_LOG_PATTERN}</pattern>
    </encoder>
    <file>${MY_LOG_FILE}</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
        <fileNamePattern>${MY_LOG_FILE}.%i</fileNamePattern>
    </rollingPolicy>
    <triggeringPolicy
        class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
        <MaxFileSize>10MB</MaxFileSize>
    </triggeringPolicy>
Run Code Online (Sandbox Code Playgroud)

<logger name="com.mydomain.myapp" level="INFO" additivity="false">
    <appender-ref ref="CONSOLE" />
    <appender-ref ref="MY_APPENDER" />
</logger>
Run Code Online (Sandbox Code Playgroud)

当我在控制器中使用记录器时,它会正确记录到控制台输出,但找不到该文件。至于我可以在网上找到的内容,看起来我设置正确,但显然我不是。

编辑:它最终通过在父项目上执行 Maven 更新项目来解决,该项目是更大的模块系统的一部分。

java logback spring-boot

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

将 JdbcTokenStore 用于 JWT

对于我的 REST API,我使用 JWT 进行 OAuth2 授权。目前我正在扩展JwtTokenStore以将刷新令牌存储在内存中,以便我能够撤销它们。

// TODO: This is a temporary in memory solution that needs to be replaced with a concrete persistent implementation.
public class MyJwtTokenStore extends JwtTokenStore {

    private List<OAuth2RefreshToken> refreshTokens;

    public MyJwtTokenStore(JwtAccessTokenConverter jwtTokenEnhancer) {
        super(jwtTokenEnhancer);
        refreshTokens = new ArrayList<>();
    }

    @Override
    public OAuth2RefreshToken readRefreshToken(String tokenValue) {
        OAuth2RefreshToken refreshToken = super.readRefreshToken(tokenValue);
        if (!refreshTokens.contains(refreshToken)) {
            throw new InvalidGrantException("Invalid refresh token: " + tokenValue);
        }
        return refreshToken;
    }

    @Override
    public void storeRefreshToken(OAuth2RefreshToken refreshToken, OAuth2Authentication authentication) { …
Run Code Online (Sandbox Code Playgroud)

spring spring-oauth2

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

如何在 POST 请求中向其他 Feign 客户端发出 GET 请求?

我有一个 REST API 端点,它使用多个 Fe​​ign 客户端来执行验证和处理。有问题的端点接受 POST 请求,但用于验证的 Feign 客户端接受 GET 请求。当我向 API 端点发出 POST 请求时,我从需要 GET 的 Feign 客户端收到以下错误。我的 Feign 客户端方法用 注释@GetMapping,但似乎请求仍在作为 POST 发送。如何在 POST 请求中向 Feign 客户端发出 GET 请求?

feign.FeignException: status 405 reading ValidationClient#checkData(String); content:
{"timestamp":"2018-08-06T14:43:45.998+0000","status":405,"error":"Method Not Allowed","message":"Request method 'POST' not supported","path":"/"}
    at feign.FeignException.errorStatus(FeignException.java:62) ~[feign-core-9.5.1.jar:na]
    at feign.codec.ErrorDecoder$Default.decode(ErrorDecoder.java:91) ~[feign-core-9.5.1.jar:na]
    at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:138) ~[feign-core-9.5.1.jar:na]
    at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:76) ~[feign-core-9.5.1.jar:na]
    at feign.ReflectiveFeign$FeignInvocationHandler.invoke(ReflectiveFeign.java:103) ~[feign-core-9.5.1.jar:na]
    at com.sun.proxy.$Proxy129.checkFormat(Unknown Source) ~[na:na]
    at com.example.datainput.DataInputController.acceptData(DataInputController.java:20) ~[classes/:na]
    at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source) ~[na:na]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:45005) ~[na:1.8.0_172]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_172]
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:209) …
Run Code Online (Sandbox Code Playgroud)

java spring spring-cloud

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

DATEDIFF 检查一分钟实际上在一到两分钟之间

我正在使用 DATEDIFF 来确保某个操作每分钟不会发生超过一次。

SELECT COUNT(*) 
FROM FOOD_ACTION
WHERE 
DATEDIFF(MINUTE,INSERT_DT,GETDATE()) <= 1
Run Code Online (Sandbox Code Playgroud)

INSERT_DTGETDATE()是与返回格式相同的日期列

如果此查询返回任何内容,则不允许发生该操作。

问题是,它只是有效的。我的时间范围从一分十秒一直到近两分钟,然后才会让该动作再次发生。如果它接近一两分钟,似乎没有任何一致性,并且我已经确认GETDATE()返回的时间与我的应用程序设置列时返回的时间相同INSERT_DT

不一致和不正确的时间是怎么回事?

t-sql sql-server

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

如何以编程方式将错误附加到 FormGroup 控件?

在我的动态 FormGroup 中,我想以编程方式将错误附加到表单控件,但我看到添加错误的唯一方法是这样的

this.userForm.controls.username.setErrors({
  'exists': 'Username already exists'
});
Run Code Online (Sandbox Code Playgroud)

这完全取代了任何现有的错误。有没有办法将单个错误附加到动态 FormGroup 控件?

validation typescript angular

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