DEV Community

Query Filter
Query Filter

Posted on

gradle-99

The $ sign appears in the class name because DeliveryMode is a nested (or inner) class defined inside the JMSTransportInfo class.

In Java, when the compiler produces the bytecode class files for inner or nested classes, it uses a dollar sign ($) to separate the outer class name from the inner class name.

Why it looks like this:

  • Outer Class: com.citigroup.get.quantum.messaging.transport.JMSTransportInfo
  • Inner Class: DeliveryMode (which is likely a Java enum or a static nested class)
  • Compiled Class File Name: JMSTransportInfo$DeliveryMode.class

In Spring XML Configuration:

Because Spring's XML configuration uses standard Java reflection (Class.forName()) to instantiate or reference classes, it requires the fully qualified internal binary name—which uses the $ notation for inner classes.

In this specific snippet, it is used alongside factory-method="valueOf" to instantiate a specific enum constant (like Persistent) for the deliveryMode property.

Top comments (0)