Hello,
As part of retiring the OJB project, the user and the dev mailing lists
are being closed. It will no longer be possible to post to the lists,
but old posts can be browsed in the archive [1].
--
Kristian Waagan on behalf of Apache ObJectRelationalBridge + the Attic.
[1]
A heads up for the Apache ObJectRelationalBridge (OJB) user community that
the OJB project has been 'moved to the Attic'.
This means that the OJB developers (more formally its Project Management
Committee) have voted to retire OJB and move the responsibility for its
oversight over to the Attic
Anybody can tell if OJB can be used Spring 3.x framework? Any detail
configuration available? Thanks.
Gene
-
To unsubscribe, e-mail: ojb-user-unsubscr...@db.apache.org
For additional commands, e-mail:
Hi,
I just played around with ODMG and tried to execute the following OQL:
select x from myClass where attribute is not in ( select distinct y.id from
anotherClass )
During OQLQuery q.create(oql) OJB writes a message to stderr with unexpected
token (select) and throws an Exception:
Hi all,
mandragora-0.3.4 has been released.
You can find it here http://mandragora.sourceforge.net/download.html
It has been integrated with Spring.
Now you can use the dependency injection in place of Service Locator Service
to link Bd, ServiceFacade, ApplicationService and Dao.
Moreover there
Two questions regarding OJB:
1. Can the Query by Criteria API be used in conjunction with an
existing JDO application? I merely want to gain the query by criteria
function, I don't want to change the rest of my app.
2. Is OJB under active development?
Thanks!
Good question--I asked the list a question about a month ago when I ran
into problems trying to get the OJB-JDO bridge working on Vista, but
there was no reply.
John Eichelsdorfer wrote:
Is there an active developer still on this project? Though it would take a
large amount of effort, we are
Hi,
I am wondering the same thing. I believe a year ago, their was one
really active developer (Armin), but he turned papa and did not have
much time between work and fatherhood. He managed to squeeze out a
release candidate for a maintenance release (eagerly awaited for more
then two years), but
I think Hibernate sucked all the air out of the room. The number of tools
offering hibernate integration has been outpacing OJB forever.
Are there any compelling features in OJB that are not found elsewhere?
- Jason
We prefer OJB:s compact size, explicit control of caching, clear
structure and functionality, and especially the ability to dynamically
modify the persistence model through the API during run-time without
disturbing open sessions; Hibernate lacks most of these features and JPA
is too limited.
Hi all!
Mandragora 0.3.3 has been released.
The new release has been focused on making easier writing code for
distributed transactions.
http://mandragora.sourceforge.net/referenceguide/ejb.html#Distributed_transactions
It is now very easy using the provided methods to make them work together in
Hi There,
My customer wanted me to move a copy of a Cocoon application that's been
working for four years in production, onto their sales demo Vista laptop.
I did, but get the following problem that prevents any connection being
made to the database (I don't think it is a
Hi all,
I would like to notify to all that can be interested that mandragora-0.3.2
has been released.
The ejb implementation has been well tested, so it is now possible to use
all the most common and useful business methods inside an ejb container.
http://mandragora.sourceforge.net/index.html
Hi,
The first think I'd try, could be to switch to java 1.5 or higher.
Anyway you should say if the error you get is always when executing the same
piece of code or it is aleatory,
Try to isolate the problem and provide more information.
regards
Alessandro
On Thu, Apr 23, 2009 at 2:43 PM,
Hello,
does anybody have a clue? Please help.
Thank You!
ChupaMe wrote:
Hi,
we have a Problem with Tomcat/MySQL which causes our webapplication to
stop working.
After a restart of Tomcat and MySQL it works again. But we have to do this
a few times a day.
First some Info about the
Hi,
in my case, I have two connection descriptors:
jdbc-connection-descriptor
jcd-alias=default
default-connection=true
...
and
jdbc-connection-descriptor
jcd-alias=remote
default-connection=false
...
Using
localbroker =
I'm currently working with a project that uses a single data source, using
default-connection=true in the jdbc-connection-descriptor. I now need to add
a second data source, but can I leave the first data source as a
default-connection, or do I need to change it and configure the connection
You can leave the first one default and get the second one programmatically.
-Original Message-
From: henrydav [mailto:henry...@indiana.edu]
Sent: Thursday, April 02, 2009 5:38 PM
To: ojb-user@db.apache.org
Subject: Adding a second data source.
I'm currently working with a project that
Hi,
You can leave your existing connection as default and add a second (named)
connection. You have to specify where to use the second connection by using an
appropriate method (i.e. for the PB-API
PersistenceBrokerFactory.createPersistenceBroker(new PBKey(jcdalias)) vs.
Okay, both responses verify what I thought was true, so thank you for that.
I've tried the approach you mentioned below
(PersistenceBrokerFactory.createPersistenceBroker(new PBKey(myJcdAlias))),
as well as the Spring approach (since this project also mixes Spring 1.2
in):
Hi Alessandro,
thanks for your response. However, as the long transactions involve external
devices and systems and a strictly sequential order must be assured, I think
optimistic locking is not helpful at all. Besides that, OpenSymphony seems to
be interesting anyway.
Best regards
Bernd
Ron,
thank you for your helpful hints.
Best regards
Bernd
-Ursprüngliche Nachricht-
Von: Ron Bagdanoff [mailto:rbogdan...@serus.com]
Gesendet: Mittwoch, 18. März 2009 16:55
An: OJB Users List
Betreff: RE: OJB caching and concurrent access
Don't know if anyone has responded to you on
Hello,
I use the PB-API. Is there any support for concurrent access to the same data
base entries from multiple servers/applications in OJB? In order to provide a
scalable system and high availability, I am faced with the demands of load
balancing and multiple servers running the same
Hi Bernd,
did you consider to use the OSCasche implementation with optimistic locking?
http://db.apache.org/ojb/docu/guides/objectcache.html#ObjectCacheOSCacheImpl
http://db.apache.org/ojb/docu/howtos/howto-work-with-clustering.html
I used that sometimes and it is very quick as the entries are
Don't know if anyone has responded to you on this, but what you need is a
distributed cache implementation. Unfortunately OJB does not have a
distributed cache. We are using OJB for our product and we had to build our
own distributed cache using JCS and JMS. It is a fair amount of work to do
Hi,
we have a Problem with Tomcat/MySQL which causes our webapplication to stop
working.
After a restart of Tomcat and MySQL it works again. But we have to do this a
few times a day.
First some Info about the Server and versions:
- SUSE LINUX Enterprise Server 9 (i586) Patchlevel 4
-
I've just started using the apache packages ECS and DBCP for servlets,
but would like do more, of course. Maybe I just can't find the correct
documentation, but it seems like the fine manual, so to speak, comes in
two categories. One glosses over details about where to put files and
the
Some more info on this issue for anyone that might be able to help:
(Sorry for the size of the post, this gets more interesting around point 6, but
i wanted to be complete)
1. I have started a brand new project from ojb-blank.jar in order to
diagnose what is going wrong here.
2. Followed the
Hi all,
to everybody who is interested in Mandragora, just notify that the new
version 0.3.1 has been released.(
http://mandragora.sourceforge.net/index.html)
There are new methods available, as
storePathsCascade(Object storeVO,Collection paths, Boolean
pathsHasToBeSorted, Boolean
Hello All,
I have searched the archives and not seen an answer to this, but I am having
the
same trouble with the torque insert-sql task, as called from the OJB
build.xml.
I have attached an old post that shows the exact same problem I am seeing here.
My project is assembled from
Hi!
How could I configure OJB to process such scheme:
I have base class A and at least one its subclass B. Each class uses
different DB tables, joined to each other. In following examples I have
TABLE_B references to TABLE_A by foreign key PARENT_ID.
There is also third class, lets say
On Thu, 29 Jan 2009 15:18:14 +0300
Maxim Kuleshov kules...@org.vrn.ru wrote:
That's scheme gives me error during XDoclet stage:
The collection entries in class ojbs.ObjsList specifies a foreignkey
listId that is not a persistent field in the element class (or its
subclass) objs.B
Well,
Just to notify, to everyone that could be interested that a new version of
Mandragora (http://mandragora.sourceforge.net/) has been released.
New methods have been added, and some limitation of the existing ones have
been removed.
The architecture provided by Mandragora is now more complex, not
Hi,
I'm using ReportQueryByCriteria of the PB API in OJB 1.0.3.
What I'm trying to do is to create a statement like this:
SELECT columnA, columnB, columnC FROM ( select ... from tableName where ...)
OJB always creates a statement like this:
SELECT A0.columnA, A0.columnB, A0.columnC FROM
Hi list,
I have a question regarding queries against an interface.
In
my application I have an interface with 2 subclasses. The interface has
a description field.
/*
* @ojb.field name=description
* jdbc-
type=VARCHAR
* length=300
*/
Hi,
I am not sure but I don't think so. OJB will query each table and then merges
the resultsets, probably by concatenating them. Each resultset on itself is
then ordered by description.
Roger Janssen
iBanx
-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent:
Hai,
I have a problem in doing an ant build
The sql statements throw
[torque-sql-exec] com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near 'CREATE TABLE
Hi,
first of all, thanks for help and giving me the hints to the docs.
My goal is to avoid keeping objects in my application which are unsynchronized
with the db.
So far I understood setting the refresh-attribute in collection-descriptor to
true results in refreshing all referenced objects
Hi Abid
About the refresh-attribute, I think you well understood, even if I never
used it. Anyway it should be easy to try.
The two level is not a performance improvement, but it is more that other
that the change you make on the cache can be seen by other user when you end
up the transaction,
Hi Abid.
Do you mean that you want automatically refreshed the events collection,
without any lookup to the cache or not?.
If you want the collection to be refreshed on look up you can
use collection-descriptor refresh attribute or the two level cache
Hi JohnE,
johne wrote:
In response to below, it worked in 1.0.3 and then 1.0.4. When I
tried 1.0.5 it failed. I backed off to 1.0.4 again and it works. In
all cases I use the same latest MySql database driver. No other
changes other then the change in OJB version.
It's weird! I try to
Still definitely having a problem.
1.0.4 is working. I got my pom files to pull in the dependencies
automatically. Originally I had them be different between 1.0.4, but I
tried having them be the same this time. The only difference is the
repository.dtd, repository-internal.xml,
Thanks a lot Armin!
Just for the record in the case someone faces the same issue.
I changed the Boss class to just hold a FK to the Employee table and there
is no extends relationship anymore between Boss and Employee. Now I can
create just the Boss object and attach it to an existing Employee.
Hi Paul,
Somendra Paul wrote:
Hi Armin
This SQL query we have is not a data only from one table, but is a very
big SQL query looks like following:
select a,b,c from x,y,z where union all select a,b,c from x,y,z where union all select a,b,c from x,y,z
This is a generic
Hi Cleverson,
Schmidt wrote:
Hi,
Considerer the following hierarchy:
Person - Employee - Boss
Each class is maped to a distinct table (Mapping Classes on Multiple Joined
Tables)
In this case, if I create an employee, two records are persisted in the DB
(1 person and 1 employee). What if this
Hi JohnE,
johne wrote:
We may actually have to go with the 1.0.5 release in production
because of our desire to use one of the newer features. The last RC
came out 29JAN2008 with the last code changes in subversion on
30JAN2008, so the RC1 does not contain some fixes.
Is there anything
you
johne wrote:
In first testing the 1.0.5 RC, I get the error below. This worked as is in
1.0.4. Something different with the count use in the RC?
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to
java.lang.Long which comes from this line as shown in more detail below:
In response to below, it worked in 1.0.3 and then 1.0.4. When I tried 1.0.5
it failed. I backed off to 1.0.4 again and it works. In all cases I use
the same latest MySql database driver. No other changes other then the
change in OJB version.
JohnE
Armin Waibel wrote:
johne wrote:
In
We may actually have to go with the 1.0.5 release in production because of
our desire to use one of the newer features. The last RC came out 29JAN2008
with the last code changes in subversion on 30JAN2008, so the RC1 does not
contain some fixes. Is there anything you consider important to get
In first testing the 1.0.5 RC, I get the error below. This worked as is in
1.0.4. Something different with the count use in the RC?
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to
java.lang.Long which comes from this line as shown in more detail below:
count = new
Armin Waibel schrieb:
how can i update the Database, if i change my Java-sourcecode and
with that the database structure, without loosing any data.
Until now i use the mysql command to import the SQL-Ascii File,
created from OJB with ant.
But this deletes first all tables.
The upcoming
Hello All,
We have a project which uses OJB to talk with DB. It was working fine with
jconnect driver. Now we have changed our design and now we are trying
iAnywhere driver instead of jConnect2.
Now we are facing the problem that after some time of deployment we are
getting exception at the
Hi,
Considerer the following hierarchy:
Person - Employee - Boss
Each class is maped to a distinct table (Mapping Classes on Multiple Joined
Tables)
In this case, if I create an employee, two records are persisted in the DB
(1 person and 1 employee). What if this employee is promoted to a
Hi All,
I am using OJB1.4 against Oracle10g with classes12.jar. We are trying to
export data from the DB, using SQL query which returns 60 records , what we
found out that is when we do iterator = query.getIteratorByQuery(),and iterate
over the results, we find that after iterating
Hi Paul,
Somendra Paul wrote:
Hi All, I am using OJB1.4 against Oracle10g with classes12.jar. We
are trying to export data from the DB, using SQL query which returns
60 records , what we found out that is when we do iterator =
query.getIteratorByQuery(),and iterate over the results, we
Hi Armin
This SQL query we have is not a data only from one table, but is a very
big SQL query looks like following:
select a,b,c from x,y,z where union all select a,b,c from x,y,z where
union all select a,b,c from x,y,z
This is a generic SQL written but the our SQL
Been doing a lot of development lately implementing our document repository.
Specifics include OJB 1.0.4 and MySql 5.0 with a fairly recent driver.
We were using LONGVARCHAR to represent long textual information, but was
hoping to make it a bit more generic by changing over to using a BLOB.
Hi John,
the LOB-support of OJB 1.0.4 is very rudimentary (AFAIK OJB always
expects that LOB's are byte[] or String fields on java object level).
The upcoming OJB 1.0.5 have more experienced LOB-support (don't remind
me that I announced the release long ago ;-)).
I recommend to give OJB
Hi Frank,
Hiller, Frank RD-PT31 wrote:
I'm using PB version 1.0.3. Database user and password are in
repository_database.xml. How can one hide usr + pwd? I'd prefer to
have placeholders there and set both in source code.
http://db.apache.org/ojb/docu/faq.html#userPasswordNeeded
If you like
I'm using PB version 1.0.3.
Database user and password are in repository_database.xml.
How can one hide usr + pwd? I'd prefer to have placeholders there and set both
in source code.
Thanks...Frank
Maybe not an answer you are looking for, but I believe most applications rely
on security of the operating system to provide the security of the database
password. What I mean is that if you have this under a Java application,
the WEB-INF directory is secure or should be. If not, your setup is
In trying to work out the issue I was having in the other write, I noticed
that same database column names could cause a problem which was fixed in
1.0.4. In trying to upgrade to 1.0.4, my maven project is failing due to
many pom file issues found at
Using the following got it to compile for me, but general users should not
have to do the excludes.
dependency
groupIdojb/groupId
artifactIddb-ojb/artifactId
version1.0.4/version
exclusions
exclusion
After upgrading and struggle, finally got this to work.
-
JohnE
http://www.jobbank.com jobbank.com
--
View this message in context:
http://www.nabble.com/Caching-issue-tp19258687p19363523.html
Sent from the Apache DB - ObjectRelationalBridge Users mailing list archive at
Nabble.com.
Armin wrote:
Sorry for the delay. I took a few sabbatical weeks from OJB
to spend
more time with my (newborn) daughter and currently I have
some problems
with my eyes, which makes it difficult to work on OJB.
Armin,
congrats to your newborn family member, all the best to all of your
Hi,
same here as Alessandro said, we are using only the Persistence Broker part and are happy with it, our whole project is based on OJB and we added several
customisations for some optimised loading of references, building search criteria joining any tables (even if there are no foreign key
Hi,
it has been quiet for a while, that's true. Maybe because there are still
holidays in Germany (some of the developers live in Germany afaik).
But is it dead? I don't know. Can't find a roadmap or something like that on
the website.
But as a user, it works fine for me. Actually I'm happy
Hi Jason,
Jason wrote:
I have been away from the OJB community for a few years. Based on the
state of the website and the SVN repository, it looks like this
project has stalled... the last commits were months ago and the last
release was in 2005. Is OJB dead, or is active work being done
Hi,
Even if it is some time that there aren't new releases, I would say that
this is not a reason to consider a project dead.
It is a very useful project, I have to say that I limit to use just the
persistence broker, but after many years using it I never had a problem, and
I never felt the
I have been away from the OJB community for a few years. Based on the state
of the website and the SVN repository, it looks like this project has
stalled... the last commits were months ago and the last release was in
2005.
Is OJB dead, or is active work being done somewhere to work towards
Sorry using OJB 1.0.3, not 1.0.4.
Seems like when I have an object A with a proxied collection of B, that when
I delete and remove B from cache seperately, A's collection, upon a new
query does not get the change. This does not just have to do with delete,
but any change to B.
-
JohnE
In trying to add a document management piece into our system, we are trying
to use extent-class for a first time to represent a Document and a
DocumentWithDisplays. Basically the DocumentWithDisplays is a Document with
a collection of proxied Display objects.
This is working except for one
I am using OJB with java 1.5
I have done the following mapping
class-descriptor
class=applications.dts.models.testcase.testcasegrid.TestCaseGrid
table=dts.testcaseactions
field-descriptor name=testCaseActionId column=TestCaseActionID
primarykey=true autoincrement=true access=readonly /
Hi,
OJB detects circular references and stops traversing if it detects an
object already instantiated, it uses a cache for that.
Roger Janssen
iBanx
-Original Message-
From: SUMIT JAIN [mailto:[EMAIL PROTECTED]
Sent: Wednesday, August 20, 2008 12:53 PM
To: ojb-user@db.apache.org
OJB fully supports mapping of several classes to the same table. In this
case, you'll read the same data into two data structures being kind of
reflections of each other.
-- Ilkka
SUMIT JAIN wrote:
I am using OJB with java 1.5
I have done the following mapping
class-descriptor
Oops, the tables are not the same, so Roger's reply gives a better answer.
-- Ilkka
Ilkka Priha wrote:
OJB fully supports mapping of several classes to the same table. In this
case, you'll read the same data into two data structures being kind of
reflections of each other.
-- Ilkka
SUMIT
Hi,
I'm facing this problem: When I do a search over a base class, it
instantiates the correct subclass type, but doesn't retrieve all the
attributes from the subclass, only those that belong to the base class.
These classes and mappings are a simplified version of the original ones,
but
Hi,
I am not able to search db.apache.org archive (is it down?). So I ask my
question here:
Im working with ojb 1.0.4. and do a select statement with an iterator as return
value. the select statement is fast enough but when i work through the iterator
each next() statement needs more as a
Hello,
I'm to test performance of OJB - MySQL using an object-oriented aplication
based on the OO7 Benchmark specification.
To run the test I'm using the JMeter tool. Well, when I run the test at the
firt time it execute perfectly ... but, when I try another run without
close/reopen the JMeter
Hello!
I have learned more about the reasons for this:
When a statemnt retrievies more than 10% of the entries from a table,
an index scan is inefficient. Instead the database should use a table scan.
Therefor the database should know the values from an index (it does) and
judge for each
Hello,
I removed the part in the build.xml that prevents me from compiling without
these libs.
At least I got some jars now. But haven't tried it yet. Im not using JDO so I
hope it works without missing the libs.
Regards
Lasse Lambrecht
-Ursprüngliche Nachricht-
Von: Andrei Harangus
smime.p7m
Description: S/MIME encrypted message
Hi Lasse,
I had the same problem yesterday.
JDO version 2 does not work - I tried both 2.0 and 2.1 to compile in debug
mode. It looks like JDO 1 is no longer available on Sun's websites.
What I did was a grose hack - went into the source code and changed the JDO
part which I did not use for my
These are the following java objects that we store:
Wip -- Wip Process(related table of Wip) - Wip Qty (related table of Wip)
Lot -- Lot Qty(related table of Lot) - Lot Process Location(related table of
Lot)
Shipment
The way our code works is this Wip,Lot,Shipment data are kept in csv
Hi,
i have found a lot of problems with ojb, if i try this:
/**
* @ojb.class table = PRODUCT_STOCK
* @DOC this is a description
*/
public class ProductStock
the @DOC statement cant be there, because the ant script does it not
recognize.
However, this i can solve self, but another problem is,
Hi Roger,
you are right with the chess match
I understand your point now, but we are not using a strategie at all (which
means we have exactly one strategie and it's hardcoded).
So we have always the same way to convert a boolean, we always enclose
strings with quotes, and so on...
The
Hello!
I would like to ask you for your opinion to a certain problem we encountered
and solved via a hardcoded solution.
We have a timestamp-field (the name is replaced) in some tables which has
the information is valid until.
When the data entry is valid, the value of this field is -12-31
Hi again,
I think this issue has to something with the materialization of objects
(when using proxies). But I thought that proxies are only used, when
retrieving a corresponding collection of an object (in 1:n and m:n
relations, e.g. ShoppingCart.getArticles()...).
What I'm doing when using
Hi Abid,
Abid Hussain wrote:
Hi again,
I think this issue has to something with the materialization of objects
(when using proxies). But I thought that proxies are only used, when
retrieving a corresponding collection of an object (in 1:n and m:n
relations, e.g.
Hi Vasily,
could you please open an issue on OJB-JIRA
http://issues.apache.org/jira/browse/OJB
and add a detailed description about how to reproduce the issue (then
I'm able to write a test case).
regards,
Armin
Vasily Ivanov wrote:
Hello,
I'm using Oracle 10.2.0.4.0 thin Jdbc driver,
Hi Hans,
Hans Novak wrote:
Hi,
how can i update the Database, if i change my Java-sourcecode and with
that the database structure, without loosing any data.
Until now i use the mysql command to import the SQL-Ascii File, created
from OJB with ant.
But this deletes first all tables.
The
Hi Hans,
Hans Novak wrote:
Hi,
my prg works fine with ojb.
But now i have to open 2 different Databases (on the same host), because
i want to import/export something.
How can i do that ?
I have only one build.properties file !?
OJB can handle different DB at the same time:
Hi Armin,
thanks for help.
Just to be sure that I got the point: When there is a 'proxy=dynamic'
in the class-descriptor, proxies are always used when more than one
object is queried?
I thought that proxies are only used when retrieving a collection
through a relation (1:n or m:n, e.g.
Abid Hussain wrote:
Hi Armin,
thanks for help.
Just to be sure that I got the point: When there is a 'proxy=dynamic'
in the class-descriptor, proxies are always used when more than one
object is queried?
The returned persistence capable object is always a proxy object, even
if the query
Hi everybody,
I have written a storeAll()-method in a dao to store all given objects
in one transaction (you find the code at the end of this mail).
Now please have a look at the following lines of code:
Account_2DAO dao1 = new Account_2DAO(DB1);
CollectionAccount_2 accounts =
Hi Christian,
I am also late in my response, this thread feels like a long distance
chess match communicating the moves by post (not email that is..) :)...
I understand you implemted a method public static String
asDBParameter(Object value), but with this solution, one of my
questions is:
Hello,
I'm using Oracle 10.2.0.4.0 thin Jdbc driver, Oracle 10g db, Ojb
1.0.4, Tomcat 4, c3p0 connection pooling, Spring/Spring Modules.
I'm experiencing a problem materializing an object with LONGVARCHAR
field (LONG datatype in Oracle).
Caused by: java.sql.SQLException: Stream has already been
Actually with dbcp it doesn't work either. Any thoughts?
2008/5/5 Vasily Ivanov [EMAIL PROTECTED]:
Hello,
I'm using Oracle 10.2.0.4.0 thin Jdbc driver, Oracle 10g db, Ojb
1.0.4, Tomcat 4, c3p0 connection pooling, Spring/Spring Modules.
I'm experiencing a problem materializing an object
Hi,
how can i update the Database, if i change my Java-sourcecode and with
that the database structure, without loosing any data.
Until now i use the mysql command to import the SQL-Ascii File, created
from OJB with ant.
But this deletes first all tables.
Hans
Hi,
my prg works fine with ojb.
But now i have to open 2 different Databases (on the same host), because
i want to import/export something.
How can i do that ?
I have only one build.properties file !?
Hans
-
To unsubscribe,
1 - 100 of 13062 matches
Mail list logo