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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions