Avatar
0
monkey Enlightened
monkey Enlightened
Fix issue 'parent.relativePath' of POM points at abc instead of org.youngmonkeys:ezyplatform-parent, please verify your project structure
I got an issue: 'parent.relativePath' of POM org.youngmonkeys:elearning:1.0.0 (/Users/abc/Downloads/elearning/pom.xml) points at ab. instead of org.youngmonkeys:ezyplatform-parent, please verify your project structure.
Answer
Avatar
0
monkey Enlightened
monkey Enlightened
Khi scroll xuống cuối mà gặp cái footer thì nó phải dừng lại
Mình muốn khi scroll xuống cuối mà gặp cái footer thì nó phải dừng lại để tránh bị chui xuống hoặc đè lên cái footer cho trang này: <a href="https://ezyplatform.com/market/items/ezysmashers/docs/get-started" target="_blank">https://ezyplatform.com/market/items/ezysmashers/docs/get-started</a>
Answer
Avatar
0
Shi Shi Beginner
Shi Shi Beginner
connection pool in java
em chào anh, em có một câu hỏi a có thể giải thích giúp em với được không ạ <p> bài toán của em là dự án e có 2 người code </p> <p> 1 người code sử dụng jpa để kết nối với postgres có sử dụng </p> <div class="markdown-block position-relative overflow-auto"> <pre> spring.datasource.hikari.maximum-pool-size=10 </pre> </div><p> nhưng người 2 sử dụng jdbc và tự tạo một class tạo connection pool riêng như này để lấy ra connection </p> <div class="markdown-block position-relative overflow-auto"> <pre> <span class="pl-s">@Component</span> <span class="pl-k">public</span> <span class="pl-k">class</span> ConnectionPoolHiraki { <span class="pl-k">private</span> <span class="pl-k">static</span> HikariDataSource ds; <span class="pl-k">static</span> <span class="pl-k">void</span> createPool() { HikariConfig config = <span class="pl-k">new</span> HikariConfig(); config.setDriverClassName(<span class="pl-s">"org.postgresql.Driver"</span>); config.setJdbcUrl( <span class="pl-s">"jdbc:postgresql://localhost:5432/postgres"</span> ); config.setUsername(<span class="pl-s">"postgres"</span>); config.setPassword(<span class="pl-s">"postgres"</span>); config.setMinimumIdle(5); config.setMaxLifetime(1800000); config.setMaximumPoolSize(20); ds = <span class="pl-k">new</span> HikariDataSource( config ); } <span class="pl-k">public</span> <span class="pl-k">static</span> <span class="pl-k">synchronized</span> Connection getPool() <span class="pl-k">throws</span> SQLException { <span class="pl-k">if</span> (ds == null) createPool(); <span class="pl-k">return</span> ds.getConnection(); } } </pre> </div>hoặc nếu không dùng class đó thì em dùng class <div class="markdown-block position-relative overflow-auto"> <pre> <span class="pl-s">@Component</span> <span class="pl-k">public</span> <span class="pl-k">class</span> PostgresFactory { <span class="pl-s">@Value</span>(<span class="pl-s">"${postgres.servers.url}"</span>) <span class="pl-k">private</span> String dataBaseUrl; <span class="pl-s">@Value</span>(<span class="pl-s">"${postgres.user}"</span>) <span class="pl-k">private</span> String dataBaseUser; <span class="pl-s">@Value</span>(<span class="pl-s">"${postgres.password}"</span>) <span class="pl-k">private</span> String dataBasePassword; <span class="pl-k">private</span> <span class="pl-k">static</span> PostgresFactory ourInstance; <span class="pl-k">public</span> <span class="pl-k">static</span> PostgresFactory getInstance() { <span class="pl-k">if</span> (ourInstance == null) { <span class="pl-k">synchronized</span> (PostgresFactory .class) { <span class="pl-k">if</span> (ourInstance == null) { ourInstance = <span class="pl-k">new</span> PostgresFactory(); } } } <span class="pl-k">return</span> ourInstance; } <span class="pl-k">private</span> PostgresFactory() { } </pre> </div> <p> vậy câu hỏi e muốn hỏi anh thì trường hợp này lên xử lý thế nào ạ, nếu em dùng class ConnectionPoolHiraki thì lại tạo ra </p> <p> 1 pool connection song song với pool đc tạo từ jpa </p> <p> nhưng nếu sử dụng class PostgresFactory nó lại tạo mới connection đến db mỗi lần vào thì giờ e đang chưa biết lên thống nhất như nào cho ổn nhất ạ </p>
Answer
Avatar
0
Tran Duy Tung Beginner
Tran Duy Tung Beginner
Cấu hình Async và Cluster cho Kafka
Em chào anh ạ. <p> Hiện tại em đang làm 1 project kết nối giữa kafka và mongodb, em đang thực hiện như sau: </p> <ol start="1"> <li>, application.yml</li> </ol> <div class="markdown-block position-relative overflow-auto source-java"> <pre> spring: mongo: enabled: false hosts: - host: 192.168.101.43 port: 27017 username: chatbot password: chatbot@vtcc authSource: chatbot_platform kafka: bootstrap: servers: 192.168.101.43:9092, 192.168.101.69:9092 topic: name: notification orderName: order topic-json: name: notification orderName: order consumer: group: myGroup orderGroup: orderGroup username: kafka password: 123456aA@ </pre> </div>2., AsyncConfig<div class="markdown-block position-relative overflow-auto source-java"> <pre> <span class="pl-s">@Configuration</span> <span class="pl-k">public</span> <span class="pl-k">class</span> AsyncConfig { <span class="pl-s">@Bean</span>(name = <span class="pl-s">"asyncTask"</span>) <span class="pl-k">public</span> ThreadPoolTaskExecutor asyncTask() { ThreadPoolTaskExecutor executor = <span class="pl-k">new</span> ThreadPoolTaskExecutor(); executor.setCorePoolSize(10); // Số lượng luồng cố định executor.setMaxPoolSize(50); // Số lượng luồng tối đa executor.setQueueCapacity(100); // Số lượng tác vụ chờ trong hàng đợi executor.setThreadNamePrefix(<span class="pl-s">"asyncTask-"</span>); executor.setKeepAliveSeconds(60); executor.initialize(); <span class="pl-k">return</span> executor; } <span class="pl-s">@Bean</span> <span class="pl-k">public</span> ExecutorService asyncExecutor() { <span class="pl-k">return</span> Executors.newCachedThreadPool(); } } </pre> </div>3., Kafka config<div class="markdown-block position-relative overflow-auto source-java"> <pre> <span class="pl-s">@EnableKafka</span> <span class="pl-s">@Configuration</span> <span class="pl-k">public</span> <span class="pl-k">class</span> KafkaConsumerConfig { <span class="pl-s">@Value</span>(<span class="pl-s">"${spring.kafka.bootstrap.servers}"</span>) private String bootstrapAddress; <span class="pl-s">@Value</span>(<span class="pl-s">"${spring.kafka.consumer.group}"</span>) private String consumerGroup; <span class="pl-s">@Value</span>(<span class="pl-s">"${spring.kafka.consumer.orderGroup}"</span>) private String orderGroup; <span class="pl-s">@Value</span>(<span class="pl-s">"${spring.kafka.username}"</span>) private String username; <span class="pl-s">@Value</span>(<span class="pl-s">"${spring.kafka.password}"</span>) private String password; <span class="pl-s">@Bean</span> <span class="pl-k">public</span> ConsumerFactory&lt;String, String&gt; smartNotificationConsumerFactory() { Map&lt;String, Object&gt; props = <span class="pl-k">new</span> HashMap&lt;&gt;(); props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapAddress); props.put(ConsumerConfig.GROUP_ID_CONFIG, orderGroup); props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class); props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class); props.put(ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, <span class="pl-s">"30000"</span>); <span class="pl-k">if</span> (username != null && password != null) { props.put(<span class="pl-s">"security.protocol"</span>, <span class="pl-s">"SASL_PLAINTEXT"</span>); props.put(<span class="pl-s">"sasl.mechanism"</span>, <span class="pl-s">"PLAIN"</span>); props.put(<span class="pl-s">"sasl.jaas.config"</span>, "org.apache.kafka.common.security.plain.PlainLoginModule required username="" + username + <span class="pl-s">""</span> password="" + password + <span class="pl-s">"";"</span>); } <span class="pl-k">return</span> <span class="pl-k">new</span> DefaultKafkaConsumerFactory&lt;&gt;(props); } <span class="pl-s">@Bean</span> <span class="pl-k">public</span> ConcurrentKafkaListenerContainerFactory&lt;String, String&gt; smartNotificationKafkaListenerContainerFactory( <span class="pl-s">@Qualifier</span>(<span class="pl-s">"asyncTask"</span>) ThreadPoolTaskExecutor executor) { ConcurrentKafkaListenerContainerFactory&lt;String, String&gt; factory = <span class="pl-k">new</span> ConcurrentKafkaListenerContainerFactory&lt;&gt;(); factory.setConsumerFactory(smartNotificationConsumerFactory()); factory.setConcurrency(3); <span class="pl-k">return</span> factory; } } </pre> </div>Vì là lần đầu tiên làm nên em không rõ là với những cấu hình trên thì đã đáp ứng được async và kết nối theo cụm cluster đến kafka chưa ạ. Và làm cách nào để có thể kiểm tra đưọc ạ.<p> Em cảm ơn anh! </p>
Answer
Avatar
0
vm5j9xlxja4j0rwc Beginner
Cho em hỏi về api document của viettel post ạ
Cho em hỏi về api document của viettel post ạ, quy trình lấy token như thế nào ạ. Em cảm ơn
Answer
Avatar
0
azqhdyt4pggs7smw Beginner
Multiple application inside applications tag in zone settings xml
How to create multiple application within applications tag? <div class="markdown-block position-relative overflow-auto source-xml"> <pre> &lt;<span class="pl-ent">applications</span>&gt; &lt;<span class="pl-ent">application</span>&gt; &lt;<span class="pl-ent">name</span>&gt;app1&lt;/<span class="pl-ent">name</span>&gt; &lt;<span class="pl-ent">folder</span>&gt;app1-app-entry&lt;/<span class="pl-ent">folder</span>&gt; &lt;<span class="pl-ent">entry-loader</span>&gt;com.abc.app1.app.AppEntryLoader&lt;/<span class="pl-ent">entry-loader</span>&gt; &lt;<span class="pl-ent">config-file</span>&gt;config/config.properties&lt;/<span class="pl-ent">config-file</span>&gt; &lt;/<span class="pl-ent">application</span>&gt; &lt;<span class="pl-ent">application</span>&gt; &lt;<span class="pl-ent">name</span>&gt;app2&lt;/<span class="pl-ent">name</span>&gt; &lt;<span class="pl-ent">folder</span>&gt;app2-app-entry&lt;/<span class="pl-ent">folder</span>&gt; &lt;<span class="pl-ent">entry-loader</span>&gt;com.abc.app2.app.AppEntryLoader&lt;/<span class="pl-ent">entry-loader</span>&gt; &lt;<span class="pl-ent">config-file</span>&gt;config/config.properties&lt;/<span class="pl-ent">config-file</span>&gt; &lt;/<span class="pl-ent">application</span>&gt; &lt;/<span class="pl-ent">applications</span>&gt; </pre> </div>is it the correct way to define?
Answer
Avatar
0
Bảo Ngô Beginner
Bảo Ngô Beginner
Ý nghĩa 1 số annotation trong ezyfox library
Hi a, e thấy có annotation này @EzyObjectBinding(write = false). E muốn hỏi mục đích của nó là gì và read, write = false vs true khác nhau ntn. Với lại a có document nào liệt kê các annotation thường dùng ko?
Answer
Avatar
0
Bảo Ngô Beginner
Bảo Ngô Beginner
Bàn về cách ezy trả response
@Override<p> protected void execute() throws EzyBadRequestException { </p> <p> if (message.length() > 255) { </p> <p> throw new EzyBadRequestException(ChatErrors.MESSAGE_TOO_LONG, "message too long"); </p> <p> } </p> <p> ChatChannelUsers channelUsers = </p> <p> channelUserService.getChannelUsers(channelId, user.getName()); </p> <p> if (channelUsers == null) { </p> <p> throw new EzyBadRequestException(ChatErrors.CHANNEL_NOT_FOUND, "channel with id: " + channelId + " not found"); </p> <p> } </p> <p> messageService.save(new ChatMessage( </p> <p> maxIdService.incrementAndGet(ChatEntities.CHAT_MESSAGE), </p> <p> true, message, channelId, user.getName(), clientMessageId </p> <p> )); </p> <p> responseFactory.newObjectResponse() </p> <p> .command(CHAT_USER_MESSAGE) </p> <p> .param("from", user.getName()) </p> <p> .param("message", message) </p> <p> .param("channelId", channelId) </p> <p> .usernames(channelUsers.getUsers()) </p> <p> .execute(); </p> <p> } </p> <p> Đoạn code trên xử lý request và gửi response cho user. Tuy nhiên e có thắc mắc là tại sao mình ko thiết kế để return 1 cái response entity (ví dụ bên spring) hoặc 1 dto màcác lại return void và để việc response cho developer? </p> <p> Nếu như e có 1 concurrent map/list để cache user lại và sau đó bốc bừa 1 vài user ra để gửi thì sẽ có vấn đề không? </p> <p> Tệ hơn nữa, nếu e cache lại responseFactory và dùng nó cùng với list user để spam message thì có ổn không? </p> <p> Regards </p>
Answer
Avatar
0
Nguyễn Hữu Cường Beginner
Tìm kiếm không phân biệt hoa thường, không phân biệt dấu trong Spring Data MongoDB
Với sql em set lại collate để tìm kiếm không phân biệt hoa thường, không phân biệt dấu.<p> Sau khi chuyển sang mongodb, em không biết làm cách nào để tìm kiếm giống sql </p>
Answer
Avatar
2
TungDP Beginner
TungDP Beginner
Cách nhúng đối tượng tương tự như @Autowired của Spring boot?
<em>Đặt vấn đề:</em> Lúc đọc cuốn "Những Nguyên Tắc Sống Còn Trong Lập Trình" của anh Tạ Văn Dũng, em có khá ấn tượng về cách anh giải thích về ý tưởng Inversion-of-control. Sau đó, em cũng vọc vạch làm thử 1 cái tương tự, đại ý là em làm như này: <ul> <li>Bước 1: Dùng Reflection quét package của file Main để tìm ra toàn bộ các class được khai báo trong package, đưa vào 1 HashSet.</li> <li>Bước 2: Tạo annotation @Instance, chạy vòng lặp: những class nào có đánh dấu @Instance thì khởi tạo instance cho nó, lưu vào 1 HashMap<Class<?>, Object>.</li> <li>Bước 3: Tạo annotation @Inject, và tiếp tục lặp qua HashMap ở bước 2, nếu instance nào mà có các field được đánh dấu @Inject thì gắn object đã được tạo trong HashMap(bước 2) vào field đó.</li></ul> <em>Khó khăn:</em> Nhưng em gặp vấn đề khó khi @Inject được đánh dấu vào field mà user lại sử dụng interface chứ không phải trực tiếp class. <img src="/api/v1/media/cd1910f38bf831716e6e1968e01cbfaa484f3b5b6e9846d940157d2fd6e5cdd1.png" alt="2024-02-17_15-22.png"> <em>Câu hỏi:</em> Lúc này làm sao để có thể tìm được tất cả các class implements interface đó và chọn ra được class phù hợp để inject vào ạ?
Answer
Avatar
0
Cường Ngô Beginner
Cường Ngô Beginner
Responsive trong kotlin
<img src="/api/v1/media/0e988550c8c46e11c3abc75c07f37dd1a21afcaf5cd4ac55afb6025a9c71ae37.jpg" alt="Messenger_creation_d78ec69d-da4d-43f1-ae4e-7ec6f7d8893b.jpeg"> <img src="/api/v1/media/4e60eafd8f5410975528dd1e9b5cbadcbcb00f0cfcb4ad778dd3379818c646ec.jpg" alt="Messenger_creation_3c513bf1-a2d1-4c25-a6b7-4e8006e3b899.jpeg"> <p> Mọi người cho e hỏi e đã chỉnh sdp và ddp rồi. E test trên mọi máy thì nó hiển thị ok, nhưng khi mà e tăng font size trên máy thì nó sẽ bị chèn chữ, có cách nào khắc phục không ạ. E cảm ơn. </p>
Answer
Avatar
0
wuwymm20wobp2ke4 Beginner
Yêu cầu phần cứng
Mọi người cho em hỏi làm thế nào để mình xác định được các yêu cầu phần cứng của một hệ thống ạ. Có tài liệu nào liên quan mọi người có thể share cho em với ạ.
Answer