ApplicationContextAware не работает при весенней загрузкеJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 ApplicationContextAware не работает при весенней загрузке

Сообщение Anonymous »

Я пытаюсь использовать Brave Tracer внутри некомпонентного класса.
Этот код работает нормально в основном проекте, установка контекста и получение контекста печатаются. Но когда я создаю файл jar, импортирую его в другой проект 2 и запускаю его, только получение контекста печатает и получает нулевую ошибку.
Я новичок в Spring-Boot
Первоначальная проблема заключалась в том, что я хотел подключить Autowired Tracer к своему некомпонентному классу, я погуглил его, чтобы решить эту проблему, и получил этот результат в Google. Если у кого-то есть другое решение подобной проблемы.
Открыт для предложений
Спасибо.
// Project 1
// This is the main code, Generated a Jar file

import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;

@Component
public class ApplicationContextUtils implements ApplicationContextAware {

private static ApplicationContext ctx;

@Override
public void setApplicationContext(ApplicationContext appContext) {
System.out.println("Setting context");
ctx = appContext;
}

public static ApplicationContext getApplicationContext() {
System.out.println("Getting context");
return ctx;
}
}

// Project 2
// imported project 1 jar file to this project
// Added jar file below main package
// for simplicity i have used this in main class which is component class

@SpringBootApplication
public class Main {
public static void main(String[] args) {
SpringApplication.run(Main.class, args);

// using this lines in non-component class

ApplicationContext contextUtils = ApplicationContextUtils.getApplicationContext();
contextUtils.getApplicationName();
}
}

Exception in thread "main" java.lang.NullPointerException: Cannot invoke "org.springframework.context.ApplicationContext.getApplicationName()" because "contextUtils" is null
at com.omniauth.omniauth.OmniAuthApplication.main(OmniAuthApplication.java:26)


Подробнее здесь: https://stackoverflow.com/questions/753 ... pring-boot
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»