簡體   English   中英

Spring控制器方法被多次調用

[英]Spring controller method is getting called multiple times

我有一個 Spring Boot 應用程序,它充當 ionic 應用程序的服務,每當我調用 api 時,控制器方法都會被調用兩次,例如:

@RestController
@CrossOrigin
@RequestMapping("/sendSMS")
public class SendSMSController {

@Autowired
SendSMSService sendSMSService;
protected final Log logger = LogFactory.getLog(getClass());

@PostMapping(value = "/sendMessage", produces = "application/json",consumes = "application/json")
public  Map<String, Object> sendMessage(@RequestBody UserRegistration userRegistration) {   
    logger.info("Api sendMessage test");
     return sendSMSService.sendMessage(userRegistration);
}
}

當我從郵遞員那里調用 http://localhost:8080/CEPMobileService/sendSMS/sendMessage 時,api /sendMessage 被調用兩次,如日志中所示

15/10/2020 09:32:29 PM |  INFO | http-nio-8080-exec-4 | SendSMSController | Api sendMessage test
15/10/2020 09:32:29 PM |  INFO | http-nio-8080-exec-4 | SendSMSController | Api sendMessage test
15/10/2020 09:32:29 PM |  INFO | http-nio-8080-exec-4 | SendSMSServiceImpl | Phone number--> 
[0000000000, 0000000000]
15/10/2020 09:32:29 PM |  INFO | http-nio-8080-exec-4 | SendSMSServiceImpl | Phone number--> 
[0000000000, 0000000000]
15/10/2020 09:32:29 PM |  INFO | http-nio-8080-exec-4 | SendSMSServiceImpl | Message number-->In 
distress!!!
15/10/2020 09:32:29 PM |  INFO | http-nio-8080-exec-4 | SendSMSServiceImpl | Message number-->In 
distress!!!
15/10/2020 09:32:29 PM |  INFO | http-nio-8080-exec-4 | SendSMSServiceImpl | numbers---->0000000000, 
0000000000
15/10/2020 09:32:29 PM |  INFO | http-nio-8080-exec-4 | SendSMSServiceImpl | numbers---->0000000000, 
0000000000

不僅僅是這個 api 代碼中的每個 api 都會被調用兩次,這在 Azure 中部署時也會發生。 一個答案表明它可能是由於 JSONView,但它在我的系統中不可用,其他答案也無濟於事,請問有什么解決方案?

正如 anavaraslamurep 和 Ismail 所建議的,這確實是一個記錄器錯誤,我使用了 log4j,並且在我配置 appender 時,消息被記錄了兩次。 我解決了將可加性設置為false的問題,這是配置:

 <?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Properties>
    <!-- azure server log -->
    <Property name="log-path">d:\home\Citizen_Engagement_App_V3_logs
    </Property>
</Properties>

<Appenders>
    <RollingFile name="file-log"
        fileName="${log-path}/citizen_app_application.log"
        filePattern="${log-path}/%d{dd/MM/yyyy hh:mm:ss a}/application-log-%i.log.gz">
        <PatternLayout
            pattern="%d{dd/MM/yyyy hh:mm:ss a} | %5level | %t | %c{1} | %m%n" />
        <Policies>
            <TimeBasedTriggeringPolicy interval="1"
                modulate="true" />
            <SizeBasedTriggeringPolicy size="100 MB" />
        </Policies>
    </RollingFile>

    <RollingFile name="error-log" fileName="${log-path}/application_error.log"
        filePattern="${log-path}/errorlog/%d{yyyy}/%d{MMM}/%d{dd}/application-log-%i- 
  error.log.gz">
        <PatternLayout
            pattern="%d{dd/MM/yyyy hh:mm:ss a} | %5level | %t | %c{1} | %m%n" />
        <Policies>
            <TimeBasedTriggeringPolicy interval="1"
                modulate="true" />
            <SizeBasedTriggeringPolicy size="100 MB" />
        </Policies>
    </RollingFile>

    <Console name="console" target="SYSTEM_OUT">
        <PatternLayout
            pattern="%d{dd/MM/yyyy hh:mm:ss a} | %5level | %t | %c{1} | %m%n" />
    </Console>
</Appenders>
<Loggers>

    <logger name="org.hibernate.SQL" level="DEBUG" additivity="false">
        <appender-ref ref="file-log" />
        <appender-ref ref="console" />
    </logger>

    <logger name="com.trinity" level="ALL" additivity="false">
        <appender-ref ref="file-log" />
        <appender-ref ref="console" />
    </logger>
    <logger name="org.trinity" level="ALL" additivity="false">
        <appender-ref ref="file-log" />
        <appender-ref ref="console" />
    </logger>
    <logger name="kafka" level="ALL" additivity="false">
        <appender-ref ref="file-log" />
        <appender-ref ref="console" />
    </logger>
    <logger name="jms" level="ALL" additivity="false">
        <appender-ref ref="file-log" />
        <appender-ref ref="console" />
    </logger>

    <Root level="ERROR">
        <appender-ref ref="error-log" />
        <appender-ref ref="console" />
    </Root>
</Loggers>
</Configuration>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM