registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 25/100
- Type d'issue
- Bug
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- aws, java, spring-boot
Piste de recherche
Commencez par StreamLambdaHandler et son enregistrement de ResourceConfig, puis examinez build.gradle pour trouver les dépendances de Jersey, Spring Boot et AWS serverless container. Reproduisez l’avertissement et suivez la configuration du fournisseur à l’exécution ; le travail est terminé lorsque PingResource est reconnu et que la requête signalée est traitée sans l’avertissement SERVER-runtime.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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!
- Langage dominant
- Java
- Étoiles
- 1.6k
- Forks
- 575
- Merge moyen
- 1 j 15 h
- PR mergées (30 j)
- 12
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de aws/serverless-java-container
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
aws/serverless-java-container#1729 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
aws/serverless-java-container#1715 ·
Les mainteneurs répondent en général sous 1 jour
-
Support for API Gateway mTLS clientCert fieldPeut-être pris @2748109647 l’a pris il y a 10 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 48/100
aws/serverless-java-container#1726 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
aws/serverless-java-container#1579 · 3 commentaires · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 42/100
aws/serverless-java-container#1568 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de aws/serverless-java-container
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
ls1intum/thesis-management#1473 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
LunaDeerMC/Dominion#301 · 1 commentaire ·
-
[FEATURE] Expose external refresh, node-level translog and warmer statsPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverteuntriaged
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
opensearch-project/opensearch-prometheus-exporter#680 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100