Ich habe ein Problem mit der Injektion in Java, wie ich eine Schnittstelle mit dem Namen RemoteStatisticService injizieren möchte, aber es wird in diesem Fall Null Fehler NullPointerException zurückgegeben. Ich habe versucht, this mit init() Methode und @PostConstruct zu folgen, aber gibt mir immer noch den gleichen Fehler. HierInjection CDI der Schnittstelle gibt NullPointerException zurück
ist der Code für MeasurementAspectService Klasse:
import javax.annotation.PostConstruct;
import javax.inject.Inject;
import *.dto.MeasureDownloadDto;
import *.dto.MeasureUploadDto;
import *.rs.RemoteStatisticService;
public class MeasurementAspectService {
private @Inject RemoteStatisticService remoteStatisticService;
public void storeUploadDto(MeasureUploadDto measureUploadDto) {
remoteStatisticService.postUploadStatistic(measureUploadDto);
}
public void storeDownloadDto(MeasureDownloadDto measureDownloadDto) {
remoteStatisticService.postDownloadStatistic(measureDownloadDto);
}
@PostConstruct
public void init() {
}
}
Hier ist der Code für die Interface-Klasse RemoteStatisticService
import static *.util.RemoteServiceUtil.PRIV;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import *.dto.MeasureDownloadDto;
import *.dto.MeasureUploadDto;
@Path(PRIV + "stats")
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public interface RemoteStatisticService {
@POST
@Path("upload")
void postUploadStatistic(MeasureUploadDto mud);
@POST
@Path("download")
void postDownloadStatistic(MeasureDownloadDto mdd);
}
Jede Hilfe sehr geschätzt wird. Danke
Um für die Injektion gültig zu sein, müssen sie als '@ Named'-Beans markiert sein, damit Ihr CDI-Provider diese verarbeiten kann, z. 'Weld' – PDStat
Wohin soll ich @Named Beans in diesem Fall setzen? Ich benutze Maven und immer noch neu mit CDI –
Auf Klassenebene z. '@Named öffentliche Klasse MeasurementAspectService' – PDStat