KEMBAR78
Issue with @Bean Annotation in Separate Java Files When Deploying to Google Cloud Functions · Issue #1179 · spring-cloud/spring-cloud-function · GitHub
Skip to content

Issue with @Bean Annotation in Separate Java Files When Deploying to Google Cloud Functions #1179

@yihangYH

Description

@yihangYH

I am experiencing an issue when deploying a Spring Cloud Function application to Google Cloud Functions (GCP). The problem arises when I try to define functions using the @bean annotation in separate .java files (i.e., files other than the one containing the main method).

When I define functions using the @bean annotation in separate .java files, everything works perfectly fine when running the application locally. However, when I deploy the same application to Google Cloud Functions, I encounter the following error:

IllegalArgumentException: Failed to lookup function to route based on the value of 'spring.cloud.function.definition' property 'hi'

The error disappears if I move all the @bean annotated methods into the same .java file that contains the main method. This behavior seems inconsistent and is causing issues when trying to modularize the codebase.

I have seen a similar issue reported, but there has been no response. I am wondering if this is a known issue with a potential workaround or if there is any additional configuration required when deploying to Google Cloud Functions.

I have tried using the following annotations to ensure that all @bean methods are properly scanned and registered, but the issue persists:
@SpringBootApplication(scanBasePackages = {"com.example.demo", "com.example.demo.functions"}) @ComponentScan(basePackages = "com.example.demo.functions")

Any guidance or assistance would be greatly appreciated.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions