پروژه Spring for Apache Pulsar، معروف به Spring Pulsar، به Apache Pulsar منتقل شده و با نام Apache Pulsar support for Spring ادامه پیدا میکند. نخستین انتشار آن، نسخه 3.0.0-M1، در Maven Central در دسترس است. شماره 3.0.0 برای نشاندادن تداوم مسیر Spring Pulsar 2.x انتخاب شده است.
کد سه بخش که پیشتر در repositoryهای جداگانه بود، اکنون در apache/pulsar-spring قرار دارد: کتابخانههای Spring Pulsar، بخش starter و auto-configuration مربوط به Apache Pulsar در Spring Boot، و binder مربوط به Apache Pulsar در Spring Cloud Stream. توسعه، رفع bug، پشتیبانی و انتشار نسخههای بعدی در پروژه Apache Pulsar انجام میشود.
نسخه 2.0.8 آخرین انتشار تیم Spring است و از این تیم بهروزرسانی دیگری دریافت نمیکند. برنامههای فعلی میتوانند فعلاً از آن استفاده کنند؛ اما اصلاحات و قابلیتهای آینده در artifactهای جدید عرضه میشوند. نسخه 3.0.0-M1 یک انتشار milestone است و پروژه از کاربران خواسته آن را آزمایش کنند.
برای انتقال، Maven coordinates تغییر کرده و همه artifactها از group ID برابر با org.apache.pulsar استفاده میکنند. برای نمونه، org.springframework.pulsar:spring-pulsar به org.apache.pulsar:pulsar-spring تغییر کرده است. dependencyهای جدید باید جایگزین قبلیها شوند، نه اینکه کنار آنها اضافه شوند؛ تا auto-configuration و binder قبلی همزمان روی classpath باقی نمانند. Java packageها نیز به مسیرهای جدید زیر org.apache.pulsar.spring منتقل شدهاند.
Spring Boot نسخه artifactهای جدید را مدیریت نمیکند؛ بنابراین باید نسخه هر dependency مشخص شود یا pulsar-spring-bom وارد شود. برنامههای Spring Boot همچنین باید pulsar.version را تنظیم کنند. نمونه منتشرشده مقدار 5.0.1 را برای آن دارد و تنظیم netty.version روی 4.2.20.Final نیز توصیه شده است.
این انتشار به client نسخه 5.0.x نیاز دارد که با نسخههای قدیمیتر broker سازگار است؛ بنابراین ارتقای broker لازم نیست. بهجای pulsar-client-all از artifactهای unshaded استفاده میشود؛ Netty و Jackson اکنون dependencyهای معمول برنامهاند و classهای org.apache.pulsar.shade دیگر در دسترس نیستند. پشتیبانی مشخص از API جدید client نسخه v5 هنوز اضافه نشده است.
PulsarTemplate، @PulsarListener، @PulsarReader، auto-configuration و binder حفظ شدهاند. تنظیمات spring.pulsar.* و spring.cloud.stream.pulsar.* نیز تغییر نکردهاند و پروژه همچنان با مجوز Apache License, Version 2.0 بهصورت open source ادامه دارد.




