Приложение Spring maven завершает работу сразу после загрузки контекста приложения. - PullRequest
0 голосов
/ 28 апреля 2020

Я создал проект maven и пытаюсь интегрировать в него часть Spring MVC. Я создал основной класс, который загружает контекст приложения Spring. Но проблема в том, что класс заканчивается сразу после загрузки контекста. Я не могу понять проблему. Ниже приведена базовая c необходимая структура и код проекта,

Структура проекта -

enter image description here

пом. xml -

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ticker.demo</groupId>
<artifactId>stock-market-ticker</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>stock-market-ticker</name>
<description>Nifty 50 stock market ticker</description>

<properties>
    <jdk.version>1.8</jdk.version>
    <spring.version>5.2.2.RELEASE</spring.version>
    <activemq.version>5.15.12</activemq.version>
</properties>

<dependencies>
    <!-- Spring dependencies -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jms</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${spring.version}</version>
    </dependency>


    <!-- Activemq dependencies -->
    <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-all</artifactId>
        <version>5.15.12</version>
    </dependency>


</dependencies>

web. xml -

 <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">

    <display-name>Stock market ticker</display-name>
    <servlet>
        <servlet-name>stockmarketticker</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>stockmarketticker</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/stockmarketticker-servlet.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
</web-app>

stockmarketticker-servlet. xml -

 <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"   
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 

   http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
   http://www.springframework.org/schema/context 
   http://www.springframework.org/schema/context/spring-context-4.2.xsd
   http://www.springframework.org/schema/mvc
   http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd">

   <context:component-scan base-package="com.ticker.demo" />
   <import resource="classpath:stock-market-ticker-context.xml" />
   <mvc:annotation-driven/>
</beans>

контекст биржевого тикера. xml -

    <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans     
   http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
   http://www.springframework.org/schema/context 
   http://www.springframework.org/schema/context/spring-context-4.0.xsd">

    <context:component-scan base-package="com.ticker.demo" />
    <context:annotation-config />
    <bean id="stockMarketTickerProducer" class="com.ticker.demo.producer.StockMarketTickerProducer" />
</beans>

Основной файл -

package com.ticker.demo.main;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class StockMarketTickerMain {

    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext(
                new String[] { "stock-market-ticker-context.xml" });
        System.out.println("Starting Main...");
        System.out.println("Loaded app context " + context);

    }

}

Вывод -

Запуск основного ...

Загруженный контекст приложения org.springframework.context.support . ClassPathXmlApplicationContext@1a93a7ca, запущено в четверг, 28 апреля 15:47:10 IST 2020

И затем приложение завершается. Может кто-нибудь помочь, пожалуйста?

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...