registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Bug
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- aws, java, spring-boot
Direção de pesquisa
Comece por StreamLambdaHandler e seu registro de ResourceConfig; em seguida, inspecione build.gradle em busca das dependências de Jersey, Spring Boot e AWS serverless container. Reproduza o aviso e rastreie a configuração do provedor em runtime; considera-se concluído quando PingResource é reconhecido e a solicitação reportada é processada sem o aviso SERVER-runtime.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Implementation: Jersey
Hello,
I'm encountering an issue where my JAX-RS resource is not being recognized despite having correct JAX-RS annotations.
As I am getting error:
WARNING: A provider bingadsapi.resource.PingResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider bingadsapi.resource.PingResource will be ignored.
Here is the code for my JAX-RS resource:
package bingadsapi.resource;
import java.util.Map;
import java.util.HashMap;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
@Path("/ping")
public class PingResource {
@GET
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.WILDCARD)
public Response ping() {
Map<String, String> pong = new HashMap<>();
pong.put("pong", "Hello, World!");
return Response.status(200).entity(pong).build();
}
}
my build.gradle
apply plugin: 'java'
repositories {
mavenLocal()
mavenCentral()
}
group = 'bingadsapi'
version = '1.0-SNAPSHOT'
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
implementation ('org.springframework.boot:spring-boot-starter-web:2.6.2') {
exclude group: 'org.springframework.boot', module: 'spring-boot-starter-tomcat'
}
implementation 'com.amazonaws.serverless:aws-serverless-java-container-springboot2:[1.4,)'
implementation 'com.amazonaws.serverless:aws-serverless-java-container-springboot2:1.9.3'
implementation 'io.symphonia:lambda-logging:1.0.1'
testImplementation 'org.glassfish.main.extras:glassfish-embedded-all:3.1.2.2'
implementation platform('com.amazonaws:aws-java-sdk-bom:1.11.1000')
implementation 'com.amazonaws:aws-java-sdk-s3'
implementation 'com.amazonaws:aws-java-sdk-secretsmanager'
compile 'com.googlecode.json-simple:json-simple:1.1.1'
implementation 'com.microsoft.bingads:microsoft.bingads:13.0.1'
implementation 'org.apache.commons:commons-text:1.4'
implementation 'com.amazonaws:aws-lambda-java-core:1.2.1'
// implementation 'com.amazonaws.serverless:aws-serverless-java-container-jersey:[1.0,)'
implementation 'com.amazonaws.serverless:aws-serverless-java-container-jersey:1.9'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.4'
implementation 'io.symphonia:lambda-logging:1.0.3'
implementation ('org.glassfish.jersey.media:jersey-media-json-jackson:2.36') {
exclude group: 'com.fasterxml.jackson.core', module: 'jackson-annotations'
exclude group: 'com.fasterxml.jackson.core', module: 'jackson-databind'
exclude group: 'com.fasterxml.jackson.core', module: 'jackson-core'
}
implementation ('org.glassfish.jersey.inject:jersey-hk2:2.36') {
exclude group: 'javax.inject', module: 'javax.inject'
}
testImplementation 'junit:junit:4.13.2'
}
task assembleZip(type: Zip) {
from compileJava
from processResources
into('lib') {
from configurations.runtimeClasspath
}
}
assemble.dependsOn assembleZip
Handler:
package bingadsapi;
import com.amazonaws.serverless.proxy.jersey.JerseyLambdaContainerHandler;
import com.amazonaws.serverless.proxy.model.AwsProxyRequest;
import com.amazonaws.serverless.proxy.model.AwsProxyResponse;
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestStreamHandler;
import org.glassfish.jersey.jackson.JacksonFeature;
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.server.ServerProperties;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import bingadsapi.resource.*;
public class StreamLambdaHandler implements RequestStreamHandler {
private static final ResourceConfig jerseyApplication = new ResourceConfig()
// properties to speed up Jersey start time
.property(ServerProperties.FEATURE_AUTO_DISCOVERY_DISABLE,true)
.property(ServerProperties.WADL_FEATURE_DISABLE,true)
.property(ServerProperties.METAINF_SERVICES_LOOKUP_DISABLE,true)
.property(ServerProperties.BV_FEATURE_DISABLE,true)
.property(ServerProperties.JSON_PROCESSING_FEATURE_DISABLE,true)
.property(ServerProperties.MOXY_JSON_FEATURE_DISABLE,true)
.register(PingResource.class)
.register(BingAdsResource.class)
.register(JacksonFeature.class);
private static final JerseyLambdaContainerHandler<AwsProxyRequest, AwsProxyResponse> handler
= JerseyLambdaContainerHandler.getAwsProxyHandler(jerseyApplication);
@Override
public void handleRequest(InputStream inputStream, OutputStream outputStream, Context context)
throws IOException {
handler.getContainerConfig().setInitializationTimeout(30_000);
handler.proxyStream(inputStream, outputStream, context);
}
}
Any hints, advice, or guidance would be greatly appreciated. Thanks in advance for your help!
- Linguagem predominante
- Java
- Estrelas
- 1.6k
- Forks
- 575
- Merge médio
- 1d 15h
- PRs com merge (30d)
- 12
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de aws/serverless-java-container
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
aws/serverless-java-container#1729 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
aws/serverless-java-container#1715 ·
Mantenedores costumam responder em até 1 dia
-
Support for API Gateway mTLS clientCert fieldTalvez já em andamento @2748109647 assumiu há 10 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 48/100
aws/serverless-java-container#1726 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
aws/serverless-java-container#1579 · 3 comentários · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 42/100
aws/serverless-java-container#1568 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de aws/serverless-java-container
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
ls1intum/thesis-management#1473 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
LunaDeerMC/Dominion#301 · 1 comentário ·
-
[FEATURE] Expose external refresh, node-level translog and warmer statsTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Abertauntriaged
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
opensearch-project/opensearch-prometheus-exporter#680 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100