Communication with JPOS

44 views
Skip to first unread message

Abdulrahman Ashraf

unread,
Nov 8, 2025, 3:27:52 PMNov 8
to jPOS Users
Is it normal to use a Space-based communication approach instead of a channel? Once we put a request into Space, the Transaction Manager starts and the flow continues exactly as if the message came from a channel. So, is this approach normal and more efficient than using channels?" 

Abdulrahman Ashraf

unread,
Nov 9, 2025, 8:00:09 AMNov 9
to jpos-...@googlegroups.com
it would be so helpful if anyone answered this Question 

On Sat, Nov 8, 2025 at 10:27 PM Abdulrahman Ashraf <abdelrhman...@gmail.com> wrote:
Is it normal to use a Space-based communication approach instead of a channel? Once we put a request into Space, the Transaction Manager starts and the flow continues exactly as if the message came from a channel. So, is this approach normal and more efficient than using channels?" 

--
--
jPOS is licensed under AGPL - free for community usage for your open-source project. Licenses are also available for commercial usage. Please support jPOS, contact: sa...@jpos.org
---
You received this message because you are subscribed to the Google Groups "jPOS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jpos-users+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/jpos-users/ed60ff4b-1882-4bc6-9abf-50cfe0843d76n%40googlegroups.com.

Alejandro Revilla

unread,
Nov 9, 2025, 6:30:46 PMNov 9
to jpos-...@googlegroups.com
Space communication is great and fast within jPOS components running on the same JVM. You use channels whenever you need to communicate to external endpoints using ISO-8583.

Abdulrahman Ashraf

unread,
Nov 10, 2025, 11:35:08 AMNov 10
to jpos-...@googlegroups.com

I really appreciate your time and response.
Previously, I was using a channel-based approach to communicate with jPOS — sending the ISO message, then the request listener and transaction participants would start, and afterwards a new connection to the payment switch was opened. This felt unusual, so I switched to using Space instead.

I wanted to confirm whether using Space in this way is considered a proper use case. Also, do you have any hints or best practices for managing Space under heavy load in a SoftPOS environment?

--
--
jPOS is licensed under AGPL - free for community usage for your open-source project. Licenses are also available for commercial usage. Please support jPOS, contact: sa...@jpos.org
---
You received this message because you are subscribed to the Google Groups "jPOS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jpos-users+...@googlegroups.com.

Alejandro Revilla

unread,
Nov 13, 2025, 6:44:00 PMNov 13
to jpos-...@googlegroups.com
Hi Abdulrahman,

As mentioned, if the message comes from another process/server through TCP/IP, you want to use a Channel. If, on the other hand, you want to pass around your ISOMsg within different components within the JVM (i.e. TransactionManager, etc.), the Space is an excellent choice.



kes...@phsolutions.in

unread,
Nov 14, 2025, 3:08:27 AMNov 14
to jPOS Users
Hi Abdulrahman,

To add to what Alejandro said, Space is a collection of multiple queues. You can use these queues to store your objects. and any component in jPOS system can access that object. The underlying storage for these queues could be either a) memory b) persistent storage on the same machine, c) replicated across machines or d) custom. The first 3 comes out of the box. 

It depends on you whether you want to use spaces or not but some of the components do use space for communication amongst them. It is definitely a good practice to use spaces. It helps you during load and crash situations. I suggest you also read about Spaces in the jPOS user guide.

Abdulrahman Ashraf

unread,
Nov 14, 2025, 8:22:13 AMNov 14
to jpos-...@googlegroups.com

Here's an overview of ny transaction processing flow:

1. We receive the transaction details via REST API
2. Build an ISO 8583 message from the request
3. Put the ISO message into Space for asynchronous processing
4. The Transaction Manager picks it up and performs processing and database logging
5. Use QMUX to send the ISO message to the payment switch
6. Receive the ISO response message from the switch
7. Convert the ISO response back to JSON and return it to the API caller.

So am i using the jpos efficiently in my usecase and i don't think i need space here ? Just build the iso message and let trx manager starts ? Or ?
I need the most efficient approach in my usecase.
Its a SoftPOS.

Thanks in advance.


Abdulrahman Ashraf

unread,
Nov 14, 2025, 8:23:17 AMNov 14
to jpos-...@googlegroups.com

Edit : i don't put the iso message in space for async processing.

Also i do have a KPI of 2 sec for Trx Time

Reply all
Reply to author
Forward
0 new messages